Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
.. deprecated:: 3.24
Use the :variable:CMAKE_CXX_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_GNUCXX variable is set to boolean true if the C++
(CXX) compiler is GNU.
Examples ^^^^^^^^
In earlier versions of CMake, the CMAKE_COMPILER_IS_GNUCXX variable was used
to check if the CXX compiler was GNU:
.. code-block:: cmake
if(CMAKE_COMPILER_IS_GNUCXX) # GNU C++ compiler-specific logic. endif()
Starting with CMake 2.6, the CMAKE_CXX_COMPILER_ID variable should be used
instead:
.. code-block:: cmake
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # GNU C++ compiler-specific logic. endif()
When upgrading code, consider whether additional CXX 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_CXX_COMPILER_ID MATCHES "^(GNU|LCC|QCC)$") # ... endif()