如何检查CMake构建目录构建类型是Debug还是Release?

时间:2016-03-22 20:07:29

标签: cmake

我知道可以使用-DCMAKE_BUILD_TYPE=Release-DCMAKE_BUILD_TYPE=Debug设置构建类型,但有没有命令行方式来检查/确认CMake正在使用哪种构建类型?

2 个答案:

答案 0 :(得分:6)

除了在CMakeCache.txt中查找 - 你可以 - 在构建目录中 - 使用

cmake -L . | grep CMAKE_BUILD_TYPE
...
CMAKE_BUILD_TYPE:STRING=Release

或者你可以,例如为您的CMakeLists.txt添加自定义目标

add_custom_target(print_build_type COMMAND ${CMAKE_COMMAND} -E echo ${CMAKE_BUILD_TYPE})
然后用

之类的东西调用

$ make --silent print_build_type
Release

CMAKE_BUILD_TYPE可能是空的。

所以这是使用generator expressions的更通用的版本:

add_custom_target(
    print_build_type 
    COMMAND ${CMAKE_COMMAND} -E echo $<$<CONFIG:>:Undefined>$<$<NOT:$<CONFIG:>>:$<CONFIG>>
)

<强>参考

答案 1 :(得分:1)

您可以从构建目录中的CMakeCache.txt文件中获取值。出于好奇,你想做什么?

相关问题