如何检查CMake build目录构建类型是Debug还是Release? [英] How to check if a CMake build directory build type is Debug or Release?
本文介绍了如何检查CMake build目录构建类型是Debug还是Release?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道构建类型可以使用 -DCMAKE_BUILD_TYPE = Release
或 -DCMAKE_BUILD_TYPE = Debug
设置,但是一个命令行方式来检查/确认CMake正在使用哪个构建类型?
I know the build type can be set using -DCMAKE_BUILD_TYPE=Release
or -DCMAKE_BUILD_TYPE=Debug
but is there a command line way to check/confirm which build type is being used by CMake?
推荐答案
除了查找 CMakeCache.txt
您可以在build目录中使用
Besides looking in CMakeCache.txt
you could - in the build directory - use
cmake -L . | grep CMAKE_BUILD_TYPE
...
CMAKE_BUILD_TYPE:STRING=Release
例如为您的 CMakeLists.txt
添加自定义目标
or you could e.g. add a customized target to your CMakeLists.txt
for doing it
add_custom_target(print_build_type COMMAND ${CMAKE_COMMAND} -E echo ${CMAKE_BUILD_TYPE})
如
$ make --silent print_build_type
Release
但是 CMAKE_BUILD_TYPE
可能为空。
But CMAKE_BUILD_TYPE
could be empty.
这里是一个更通用的版本,使用生成器表达式:
So here is a more generic version using generator expressions:
add_custom_target(
print_build_type
COMMAND ${CMAKE_COMMAND} -E echo $<$<CONFIG:>:Undefined>$<$<NOT:$<CONFIG:>>:$<CONFIG>>
)
参考
- What happens for C/C++ builds if CMAKE_BUILD_TYPE is empty?
- CMake - Find out which build type is currently used
这篇关于如何检查CMake build目录构建类型是Debug还是Release?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文