Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
.. deprecated:: 3.24
Use the :variable:CMAKE_C_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID> variable
instead.
The CMAKE_COMPILER_IS_* variables were used in early CMake versions before
the introduction of :variable: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:
.. code-block:: cmake
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:
.. code-block:: cmake
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 :policy:CMP0047 and :policy:CMP0129 policies
for details). To account for this, the following approach can be used:
.. code-block:: cmake
if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|LCC|QCC)$") # ... endif()