我知道可以使用-DCMAKE_BUILD_TYPE=Release
或-DCMAKE_BUILD_TYPE=Debug
设置构建类型,但有没有命令行方式来检查/确认CMake正在使用哪种构建类型?
答案 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文件中获取值。出于好奇,你想做什么?