3
想象一下以下情況:CMake的目標設置問題
我有「項目」的文件夾,這個文件夾我有「SRC」文件夾,2個文件「1.cpp」和「2.cpp」的。每一個.cpp產生一個可執行文件。 CMake的生成Makefile後,我希望能夠做到以下幾點:
- 指定我想建立可執行的「1」或「2」或兩者
- 指定我想建立在調試的所有可執行文件模式
- 指定我希望建立在釋放模式的所有可執行文件
- 指定我想建立在發佈和調試模式
,所以我希望能夠所有可執行文件中寫入以下:
- (c)作出/任何1
- (c)作出/什麼2
- (c)作出/任何全釋放
- (c)作出/任何所有調試
- (c)使任何東西全部調試併發布
實現這一目標的最佳方法是什麼? 非常感謝!
指定在cmake文件中或運行make時需要調試/釋放模式是非常不尋常的(如果cmake生成了package/tarball /不管怎麼說 - 也許不是這樣 - 我還沒有這麼做)。通常,在設置特定版本時指定Release/Debug,通過用'cmake-gui'指定'CMAKE_BUILD_TYPE'來指定。您可以使用if檢查構建的類型以包含/排除cmake文件中的項目。我不這樣做,但我確實使用'if(CMAKE_HOST_WIN32)'來避免在Linux上構建特定於win32的代碼,原理是一樣的。 – Steve314 2011-03-05 10:32:57
要一次構建多個配置,我總是使用單獨的構建樹並使用腳本在每個文件夾中調用make。我不會說這是一個好方法,但它可以完成工作。 – Steve314 2011-03-05 10:35:51
感謝您的回覆。我會發布另一個關於一次構建多個配置的問題。 – 2011-03-05 13:36:57