2011-11-27 90 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 "...")子句中创建自定义命令。