동일한 소스 파일을 빌드하는 두 개의 프로젝트가 있고, 두 번째 프로젝트에는 작은 하위 세트가 있고, 몇 가지 다른 정의 및 빌드 플래그가 있습니다.하나의 CMakeLists.txt에 여러 CMake 프로젝트가 있습니다.
나는 이런 식으로 뭔가하려고 할 때 :
SET (this_target PROJECT1)
PROJECT(${this_target})
...
ADD_EXECUTABLE(#{this_target} ...)
SET (this_target PROJECT2)
PROJECT(${this_target})
...
add_definitions (-DMYDEFINE)
TARGET_LINK_LIBRARIES(${this_target} -myflag)
ADD_EXECUTABLE(#{this_target} ...)
그것은 적어도 비주얼 스튜디오 2010, 겉으로는 적절한 소스 파일 등으로, 두 개의 프로젝트를 생성 끝,하지만 몇 가지 이유를 들어, 두 프로젝트가 보인다 MYDEFINE을 정의하고 myflag를 링커 플래그로 가져옵니다.
파일에 대해 작동하는 것처럼 보이지만 플래그가 아닌 이유는 확실하지 않습니다.
하나의 CMakeList.txt 파일에 두 개 이상의 PROJECT()가 있어야합니다. – drescherjm
CMakeLists.txt 파일만으로 거의 빈 디렉토리를 별도로 만들 수있는 다른 방법이 있습니까? – Arelius
일반적으로 각 대상을 자체 폴더에 넣지 만 두 번째 PROJECT()를 제거하고 두 번째 대상에서 사용 된 변수 이름을 this_target이 아닌 다른 이름으로 변경할 수 있습니다. – drescherjm