2013-12-22 3 views
1
다른 경로로 출력 파일을 이동하지 않는 다른 경로에서 소스를 추가

내 소스 트리 :은 CMakeLists.txt이 있고, CMake

내가 vs2008ubuntu 내 CMakeLists.txt을 데려 가고 싶다는
/project 
/project/src/<my sources> 
/project/build/vs2008 
/project/build/ubuntu 

. 하나의 CMakeLists.txt를 각 폴더에 넣고 다른 글로벌 CMakeLists.txt를 /project/build에 넣을 수는 있지만 /project/src에 CMakeLists.txt를 원하지 않습니다. 따라서 add_subdirectory 명령을 사용할 수 없습니다. Visual Studio의 솔루션 파일은 /project/build/vs2008, Makefile은 /project/build/ubuntu이 필요합니다. 내가 알아야 할 명령은 무엇입니까?

+0

src/폴더의 CMakeLists.txt에는 어떤 문제가 있습니까? CMake를 사용하는 것은 "관용적 인"방법입니다. .cpp 파일과 .h 파일 옆에 CMakeLists.txt를 원하지 않는다면, 주위에 여분의 디렉토리를 추가하지 않을까요? 예 : Source/CMakeLists.txt 및 Source/src/*. –

+0

나는 소스가 부족하다고 생각한다. http://www.cmake.org/Wiki/CMake_FAQ#What_is_an_.22out-of-source.22_build.3F – szx

답변

1

내가 알고 당신이 필요 특별한 아무것도 생각 - 당신은 단지 소스가 CMakeLists.txt가 위치한 곳을 기준으로 파일, 당신이 당신의 srcCMakeLists.txt을 배치 것처럼 당신의 목표는 동일한를 구축해야에 경로를 지정해야합니다 폴더. 예를 들어 project/build/ubuntu/CMakeLists.txt은 다음과 같이 표시 될 수 있습니다.

set(SrcDir ../../src) 
add_executable(MyApp 
    ${SrcDir}/file1.cpp 
    ${SrcDir}/file2.cpp 
    # and so on 
) 
+0

네, 저도 압니다. 첫 번째 생각에는 내가 설정해야 할 몇 가지 명령이 있습니다. 어쨌든 대답 해 주셔서 감사합니다. – naive231