CMAKE_COMPILER_IS_GNUCXX¶
Deprecated since version 3.24: Use the CMAKE_CXX_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_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:
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:
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 CMP0047 and CMP0129 policies
for details). To account for this, the following approach can be used:
# Targeting GNU, LCC, and QCC compilers for CXX:
if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC|QCC)$")
# ...
endif()