如何检查CMake build目录构建类型是Debug还是Release? [英] How to check if a CMake build directory build type is Debug or Release?

查看:4086
本文介绍了如何检查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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆