如何检查CMake生成目录生成类型是Debug还是Release?
我知道可以使用如何检查CMake生成目录生成类型是Debug还是Release?,cmake,Cmake,我知道可以使用-DCMAKE\u build\u type=Release或-DCMAKE\u build\u type=Debug设置生成类型,但是是否有命令行方法来检查/确认CMake正在使用哪种生成类型?您可以从build dir中的CMakeCache.txt文件中grep该值。出于好奇,您想做什么?除了查看cmakache.txt之外,您还可以在构建目录中使用 cmake -L . | grep CMAKE_BUILD_TYPE ... CMAKE_BUILD_TYPE:STRING=
-DCMAKE\u build\u type=Release
或-DCMAKE\u build\u type=Debug
设置生成类型,但是是否有命令行方法来检查/确认CMake正在使用哪种生成类型?您可以从build dir中的CMakeCache.txt文件中grep该值。出于好奇,您想做什么?除了查看cmakache.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_COMMAND}-E echo$$
)
参考资料
add_custom_target(
print_build_type
COMMAND ${CMAKE_COMMAND} -E echo $<$<CONFIG:>:Undefined>$<$<NOT:$<CONFIG:>>:$<CONFIG>>
)