2013-12-22 9 views
1
輸出文件移動到其他路徑

我的源代碼樹:添加源從其他路徑不具備的CMakeLists.txt,並在CMake的

/project 
/project/src/<my sources> 
/project/build/vs2008 
/project/build/ubuntu 

我希望把我的CMakeLists.txt在vs2008ubuntu。我可以接受把一個CMakeLists.txt放到每個文件夾中,並把另一個全局CMakeLists.txt放在/project/build上,但是我只是不希望任何CMakeLists.txt在/project/src(所以我不能使用add_subdirectory命令)。我需要我的視覺工作室的解決方案文件/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所在,你的目標應該建立一樣,如果你已經把CMakeLists.txtsrc指定路徑夾。例如,project/build/ubuntu/CMakeLists.txt看起來可能如下所示:

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

是的,我知道。首先想到的是,我應該設置一些命令。 無論如何,謝謝你的答案。 – naive231