CMAKE_COMPILER_IS_GNUCC¶
自 3.24 版本弃用: 请使用 CMAKE_C_COMPILER_ID
变量代替。
在 CMake 2.6 版本引入 CMAKE_<LANG>_COMPILER_ID
变量之前,早期 CMake 版本使用 CMAKE_COMPILER_IS_*
变量。
如果 C
编译器是 GNU,则 CMAKE_COMPILER_IS_GNUCC
变量会被设置为布尔值 true。
示例¶
在早期版本的 CMake 中,CMAKE_COMPILER_IS_GNUCC
变量用于检查 C
编译器是否为 GNU。
if(CMAKE_COMPILER_IS_GNUCC)
# GNU C compiler-specific logic.
endif()
从 CMake 2.6 开始,应使用 CMAKE_C_COMPILER_ID
变量代替。
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# GNU C compiler-specific logic.
endif()
在升级代码时,请考虑除了 GNU
之外,是否还应针对其他 C
编译器。过去,LCC
和 QCC
编译器也有此变量(详情请参阅 CMP0047
和 CMP0129
策略)。为此,可以使用以下方法:
# Targeting GNU, LCC, and QCC compilers for C:
if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|LCC|QCC)$")
# ...
endif()