2012-03-19 2 views
7

현재 CMake를 통해 Visual C++ 프로젝트 (그 안에 여러 개의 하위 프로젝트가 있음)로 전환하려고합니다.CMake에서 다중 프로젝트로 작업하기

내가 모르는 한가지가있다. 기본적으로 최상위 CMakeLists.txt 파일의 하위 프로젝트를 포함하기 위해서 나는 add_subdirectory 명령을 사용하고이 다양한 하위 프로젝트가 저장되는 디렉토리를 참조한다.

그러나, 동일한 디렉토리에 내 최상위 CMakeLists.txt 파일로 하나의 프로젝트가 있습니다. 그래서이 파일을 어떻게 든 포함시킬 수 있는지 궁금합니다. CMake 날 (아래 참조) 기존 PROJECT_BINARY_DIR에 add_subdirectory 호출 할 수 없습니다 :

add_subdirectory(${PROJECT_BINARY_DIR}) #not allowed in CMake 

내 CMake 구축에이 하위 프로젝트를 포함하는 나는 다른 방법을 생각할 수 없다. 어떤 아이디어?

답변

12

모든 add_subdirectory는 CMakeLists.txt 파일이있는 하위 디렉토리를 추가하기 때문에 현재 디렉토리를 추가 할 수 없습니다. 단순히 CMake 논리를 추가하여 CMakeLists.txt 파일에 프로젝트의 해당 부분을 빌드 할 수 있습니다. 당신이 논리를 분리하고 싶은 경우에, 당신은 build_project.cmake에 넣을 수 있고, 다음 등 사용, 당신이 원하는대로

include(build_project.cmake) 

당신은 다른 많은 CMake 파일을 포함 할 수 있으며, CMake 코드가 평가 될 것이다 인라인으로 붙여 넣은 것처럼 따라서 모든 정상적인 add_executable 및 유사한 명령이 작동합니다.

관련 문제