自定义目标命令中的参考构建类型



在cmake中,是否有方法在自定义目标的命令中引用构建类型?我需要我的项目启动另一个构建,但是它的命令行需要一个"debug"或"release",以便告诉构建使用与我的主项目正在构建的构建类型相同的构建类型。

据我所知,Xcode下自定义目标的命令被塞进了一个makefile,而这个makefile没有办法知道它是在做调试还是发布构建。

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

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

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

我没有在XCode中使用它,但它在Visual Studio和make中工作得很好。

我可以建议的是设置一些变量取决于CMAKE_BUILD_TYPE和传递它到add_custom_command作为它的参数。

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

最新更新