2011-11-27 56 views
0

在cmake中,有沒有辦法在自定義目標的命令中引用構建類型?我需要我的項目開始另一個構建,但其命令行需要「調試」或「發佈」,以告訴構建使用與我的主項目一起構建的構建類型。cmake - 自定義目標命令中的引用構建類型?

從我所知道的情況來看,Xcode下的自定義目標命令被塞進了makefile,而且makefile沒有辦法知道它是否在執行調試或發佈版本。

在Visual Studio中,自定義目標的命令被放到自定義生成步驟中,所以我可以使用$(配置)來獲取它。

回答

3

從cmake的開始2.8.3可以使用$<CONFIGURATION>裏面的自定義命令引用活動配置:

add_custom_target(mytarget 
    ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/some.py" --configuration $<CONFIGURATION>) 

我還沒有使用的XCode,但它正常工作與Visual Studio和製作。

1

我可以建議的是設置一些變量取決於CMAKE_BUILD_TYPE並將它傳遞到add_custom_command作爲它的參數。

另一種方法是在if(CMAKE_INSTALL_PREFIX STREQUAL "...")子句中創建自定義命令。

相關問題