cmake - 自定义目标命令中的引用构建类型?

时间:2011-11-27 03:45:51

标签: cmake

在cmake中,有没有办法在自定义目标命令中引用构建类型?我需要我的项目启动另一个构建,但它的命令行需要一个“调试”或“发布”,以告诉该构建使用与我的主项目正在构建的相同的构建类型。

据我所知,Xcode下的自定义目标命令被填充到makefile中,而makefile无法知道它是在进行调试还是发布版本。

在Visual Studio中,自定义目标的命令被放入自定义构建步骤,因此我可以使用$(Configuration)来获取此命令。

2 个答案:

答案 0 :(得分:3)

从cmake 2.8.3开始,您可以在自定义命令中使用$<CONFIGURATION>来引用活动配置:

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

我没有将它与XCode一起使用,但它适用于Visual Studio和make。

答案 1 :(得分:1)

我可以建议根据CMAKE_BUILD_TYPE设置一些变量,并将其作为参数传递给add_custom_command。

另一种方法是在if(CMAKE_INSTALL_PREFIX STREQUAL "...")子句中创建自定义命令。