CMAKE_COMPILER_IS_GNUCXX¶
在 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.
範例¶
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()