首页 > 解决方案 > 如何获取当前构建类型的所有编译标志

问题描述

CMAKE_C_FLAGS 仅包含所有构建类型的通用编译标志。如何在 CMakeLists.txt 中获取当前构建类型的所有编译标志?因此,当 CMAKE_BUILD_TYPE 为“Release”时,我想从 CMAKE_C_FLAGS 和 CMAKE_C_FLAGS_RELEASE 中获取所有标志。

标签: cmake

解决方案


可以定义新变量

string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)

然后用于"${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}"获取当前构建类型的所有标志。


推荐阅读