在cmake中,有没有办法在自定义目标命令中引用构建类型?我需要我的项目启动另一个构建,但它的命令行需要一个“调试”或“发布”,以告诉该构建使用与我的主项目正在构建的相同的构建类型。
据我所知,Xcode下的自定义目标命令被填充到makefile中,而makefile无法知道它是在进行调试还是发布版本。
在Visual Studio中,自定义目标的命令被放入自定义构建步骤,因此我可以使用$(Configuration)来获取此命令。
答案 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 "...")
子句中创建自定义命令。