CMAKE_COMPILER_IS_GNUCC¶
Deprecated since version 3.24: Use the CMAKE_C_COMPILER_ID variable
instead.
The CMAKE_COMPILER_IS_* variables were used in early CMake versions before
the introduction of CMAKE_<LANG>_COMPILER_ID variables in CMake
2.6.
The CMAKE_COMPILER_IS_GNUCC variable is set to boolean true if the C
compiler is GNU.
Examples¶
In earlier versions of CMake, the CMAKE_COMPILER_IS_GNUCC variable was used
to check if the C compiler was GNU:
if(CMAKE_COMPILER_IS_GNUCC)
# GNU C compiler-specific logic.
endif()
Starting with CMake 2.6, the CMAKE_C_COMPILER_ID variable should be used
instead:
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# GNU C compiler-specific logic.
endif()
When upgrading code, consider whether additional C compilers should be
targeted beyond just GNU. In the past, the LCC and QCC compilers
also had this variable set (see CMP0047 and CMP0129 policies
for details). To account for this, the following approach can be used:
# Targeting GNU, LCC, and QCC compilers for C:
if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|LCC|QCC)$")
# ...
endif()