ExternalProject_Add 관련 질문
안녕하세요? 이번 강의에 외부 라이브러리를 사용하기 위해
1. vcpkg+find_package를 이용해 vcpkg로 설치한 라이브러리를 사용한다
2. fetchContent 를 이용해 vcpkg-find_package 없이 직접 package를 다운 받아서 사용한다.
를 배웠습니다. CMakeLists.txt에서 target_link_libraries를 이용하면 간단하게 라이브러리를 이용할 수 있구요.
github에서 외부 라이브러리 사용법 안내(readme)를 읽다보면 종종 ExternalProject_Add와 add_dependencies, target_include_directories, target_link_directories, target_link_library 등도 사용하는 게 보입니다.
이 기술들은 사장된 기술들인가요?
강의 예제에서는 target_include_directories, target_link_directories, add_dependencies 를 사용하지 않는 이유가 궁금합니다.
compile 후 linking을 위해서 이 명령어를 이용해 경로도 설정해줘야할 것 같은데요, 강의대로 따라하면 include directory, link directory를 굳이 설정할 필요 없이 link library로만으로도 빌드가 잘 되네요(?)
回答 2
0
안녕하세요?
이 기술들은 사장된 기술들인가요?
사장된 기술은 아니고 계속 사용하셔도 됩니다. 하지만 CMake 2.X에 나온 add_dependencies와 같은 함수들의 사용은 권장되지 않습니다. 모던 빌드 시스템을 기반으로 빌드 스크립트를 작성하셔야지 확장이 쉽고 유지보수가 가능합니다.
강의 예제에서는 target_include_directories, target_link_directories, add_dependencies 를 사용하지 않는 이유가 궁금합니다.
target_xxx 함수들은 사용합니다. 하지만 글로벌하게 영향을 주는 add_dependencies는 사용하지 않습니다. 이유는 모던 빌드 시스템에 위배되기 때문이죠.
참고로 모던 빌드 시스템을 따르지 않고 기존의 방식으로 빌드 스크립트를 작성하셔도 됩니다.
스크립트를 매우 잘 작성하면 되지만 기존의 방식에서는 실수를 하기 매우 쉽습니다.
실수가 쌓이면 나중에는 유지보수하기 매우 힘든 상황이 오기 마련입니다.
모던 빌드 시스템은 이러한 문제들을 근본적으로 해결하기 때문에,
저는 강의에서 모든 빌드 시스템을 근간으로 만들어진 함수들을 사용하라고 권장하고 있습니다.
감사합니다.
0
안녕하세요?
이 기술들은 사장된 기술들인가요?
사장된 기술은 아니고 계속 사용하셔도 됩니다. 하지만 CMake 2.X에 나온 add_dependencies와 같은 함수들의 사용은 권장되지 않습니다. 모던 빌드 시스템을 기반으로 빌드 스크립트를 작성하셔야지 확장이 쉽고 유지보수가 가능합니다.
강의 예제에서는 target_include_directories, target_link_directories, add_dependencies 를 사용하지 않는 이유가 궁금합니다.
target_xxx 함수들은 사용합니다. 하지만 글로벌하게 영향을 주는 add_dependencies는 사용하지 않습니다. 이유는 모던 빌드 시스템에 위배되기 때문이죠.
참고로 모던 빌드 시스템을 따르지 않고 기존의 방식으로 빌드 스크립트를 작성하셔도 됩니다.
스크립트를 매우 잘 작성하면 되지만 기존의 방식에서는 실수를 하기 매우 쉽습니다.
실수가 쌓이면 나중에는 유지보수하기 매우 힘든 상황이 오기 마련입니다.
모던 빌드 시스템은 이러한 문제들을 근본적으로 해결하기 때문에,
저는 강의에서 모든 빌드 시스템을 근간으로 만들어진 함수들을 사용하라고 권장하고 있습니다.
감사합니다.
실행 방법 질문
0
68
1
CMake Error: Unknown argument --fresh
0
66
1
질문
0
54
2
set(<variable> ON/OFF)와 option에 차이가 있을까요?
0
65
2
-와 _를 선택하는 규칙이 궁금합니다.
0
71
2
4강과 5강의 강의 순서가 바뀐 것 같습니다.
0
68
2
install 추가 질문
0
90
2
-G 명령으로 Xcode 생성 할때 오류가 발생합니다.
0
156
2
Build_SHARED_LIBS 질문
0
152
2
수업 진행 중에 궁금한 부분이 생겼습니다.
0
186
2
설치경로 지정이 잘 안돼요.
0
154
1
FetchContent로 가져온 외부 라이브러리를 사전에 빌드하는 방법이 있을까요?
0
246
2
FetchContent를 캐시 처리할 수 있나요?
0
147
1
CMake 커맨드 - target_include_directories 질문
0
200
2
병렬 동작 지원 여부
1
267
2
CMake 의 단점들
0
238
1
CMake 출시 연도가 영상에서 아마도 잘못 소개된 것 같습니다
0
177
1
4-2 installing 에서 질문드립니다
0
229
2
CheckIncludeFileCXX 모듈 질문
0
197
1
혹시 강의에 나오는 예제 코드를 받을 수 있는건가요?
0
280
1
CMake 배포 강의가 CMake 설치 강의랑 똑같아요
0
486
1
Xcode 빌드시스템 에서 빌드가 잘 되지 않는 문제가 있습니다.
0
1276
1
CMake 심화 - CMake 설치 실습 관련 문제
0
770
3
CMakeCache.txt에서 ON과 1은 같은건가요?
0
313
1

