How to check if a CMake build directory build type is Debug or Release?

前端 未结 2 1131
一向
一向 2020-12-11 17:00

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 whic

相关标签:
2条回答
  • 2020-12-11 17:19

    You can grep the value from the CMakeCache.txt file in the build dir. Just out of curiosity, what are you trying to do ?

    0 讨论(0)
  • 2020-12-11 17:24

    Besides looking in CMakeCache.txt you could - in the build directory - use

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

    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})
    

    will then be called with something like

    $ make --silent print_build_type
    Release
    

    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>>
    )
    

    References

    • What happens for C/C++ builds if CMAKE_BUILD_TYPE is empty?
    • CMake - Find out which build type is currently used
    0 讨论(0)
提交回复
热议问题