mirror of
https://github.com/Kitware/CMake.git
synced 2025-05-09 06:42:18 +08:00
CMAKE_COMPILER_IS_*: Replace with CMAKE_<LANG>_COMPILER_ID
Variables such as CMAKE_COMPILER_IS_GNUCC are documented as obsolete/deprecated and ideally shouldn't be used in the code anymore to have clearer compiler identifications. In the past QCC compiler was identified as GNU and also had this variable set to 1 (see policy CMP0047). Same still applies for LCC compiler (see policy CMP0129).
This commit is contained in:
parent
7885d5edd9
commit
50e57aa4ca
@ -45,23 +45,23 @@ endif()
|
||||
|
||||
# Silence duplicate symbol warnings on AIX
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "AIX")
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -bhalt:5 ")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM MATCHES "OSF1-V")
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Workaround for short jump tables on PA-RISC
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^parisc")
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-calls")
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-calls")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -39,7 +39,7 @@ Including this module provides backward compatibility cache variables:
|
||||
|
||||
if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
|
||||
# check for some ANSI flags in the CXX compiler if it is not gnu
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
include(TestCXXAcceptsFlag)
|
||||
set(CMAKE_TRY_ANSI_CXX_FLAGS "")
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "OSF")
|
||||
|
@ -27,7 +27,7 @@ endif()
|
||||
|
||||
set(CMAKE_BASE_NAME)
|
||||
get_filename_component(CMAKE_BASE_NAME "${CMAKE_C_COMPILER}" NAME_WE)
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_BASE_NAME gcc)
|
||||
endif()
|
||||
|
||||
|
@ -28,7 +28,7 @@ endif()
|
||||
set(CMAKE_BASE_NAME)
|
||||
get_filename_component(CMAKE_BASE_NAME "${CMAKE_CXX_COMPILER}" NAME_WE)
|
||||
# since the gnu compiler has several names force g++
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_BASE_NAME g++)
|
||||
endif()
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
# CMAKE_C_COMPILER
|
||||
# CMAKE_AR
|
||||
# CMAKE_RANLIB
|
||||
# CMAKE_COMPILER_IS_GNUCC
|
||||
#
|
||||
# If not already set before, it also sets
|
||||
# _CMAKE_TOOLCHAIN_PREFIX
|
||||
|
@ -13,7 +13,6 @@
|
||||
#
|
||||
# Sets the following variables:
|
||||
# CMAKE_CXX_COMPILER
|
||||
# CMAKE_COMPILER_IS_GNUCXX
|
||||
# CMAKE_AR
|
||||
# CMAKE_RANLIB
|
||||
#
|
||||
|
@ -13,8 +13,6 @@
|
||||
# CMAKE_OBJC_COMPILER
|
||||
# CMAKE_AR
|
||||
# CMAKE_RANLIB
|
||||
# CMAKE_COMPILER_IS_GNUOBJC
|
||||
# CMAKE_COMPILER_IS_CLANGOBJC
|
||||
#
|
||||
# If not already set before, it also sets
|
||||
# _CMAKE_TOOLCHAIN_PREFIX
|
||||
|
@ -13,8 +13,6 @@
|
||||
#
|
||||
# Sets the following variables:
|
||||
# CMAKE_OBJCXX_COMPILER
|
||||
# CMAKE_COMPILER_IS_GNUOBJCXX
|
||||
# CMAKE_COMPILER_IS_CLANGOBJCXX
|
||||
# CMAKE_AR
|
||||
# CMAKE_RANLIB
|
||||
#
|
||||
|
@ -18,7 +18,7 @@ endif()
|
||||
set(CMAKE_BASE_NAME)
|
||||
get_filename_component(CMAKE_BASE_NAME "${CMAKE_Fortran_COMPILER}" NAME_WE)
|
||||
# since the gnu compiler has several names force g++
|
||||
if(CMAKE_COMPILER_IS_GNUG77)
|
||||
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_BASE_NAME g77)
|
||||
endif()
|
||||
if(CMAKE_Fortran_COMPILER_ID)
|
||||
|
@ -27,7 +27,7 @@ endif()
|
||||
|
||||
set(CMAKE_BASE_NAME)
|
||||
get_filename_component(CMAKE_BASE_NAME "${CMAKE_OBJC_COMPILER}" NAME_WE)
|
||||
if(CMAKE_COMPILER_IS_GNUOBJC)
|
||||
if(CMAKE_OBJC_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_BASE_NAME gcc)
|
||||
endif()
|
||||
|
||||
|
@ -24,7 +24,7 @@ endif()
|
||||
set(CMAKE_BASE_NAME)
|
||||
get_filename_component(CMAKE_BASE_NAME "${CMAKE_OBJCXX_COMPILER}" NAME_WE)
|
||||
# since the gnu compiler has several names force g++
|
||||
if(CMAKE_COMPILER_IS_GNUOBJCXX)
|
||||
if(CMAKE_OBJCXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_BASE_NAME g++)
|
||||
endif()
|
||||
|
||||
|
@ -38,8 +38,8 @@ message("CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_
|
||||
message("CMAKE_DL_LIBS is ${CMAKE_DL_LIBS}")
|
||||
message("CMAKE_SHARED_LIBRARY_PREFIX is ${CMAKE_SHARED_LIBRARY_PREFIX}")
|
||||
message("CMAKE_SHARED_LIBRARY_SUFFIX is ${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
message("CMAKE_COMPILER_IS_GNUCC = ${CMAKE_COMPILER_IS_GNUCC}")
|
||||
message("CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
|
||||
message("CMAKE_C_COMPILER_ID = ${CMAKE_C_COMPILER_ID}")
|
||||
message("CMAKE_CXX_COMPILER_ID = ${CMAKE_CXX_COMPILER_ID}")
|
||||
|
||||
message("CMAKE_CXX_CREATE_SHARED_LIBRARY is ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
|
||||
message("CMAKE_CXX_CREATE_SHARED_MODULE is ${CMAKE_CXX_CREATE_SHARED_MODULE}")
|
||||
|
@ -1625,7 +1625,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
|
||||
# nvcc chokes on -g3 in versions previous to 3.0, so replace it with -g
|
||||
set(_cuda_fix_g3 FALSE)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
if (CUDA_VERSION VERSION_LESS "3.0" OR
|
||||
CUDA_VERSION VERSION_EQUAL "4.1" OR
|
||||
CUDA_VERSION VERSION_EQUAL "4.2"
|
||||
|
@ -270,7 +270,7 @@ set(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE)
|
||||
# set compiler flags only if KDE3 has actually been found
|
||||
if(KDE3_FOUND)
|
||||
set(_KDE3_USE_FLAGS FALSE)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC)$")
|
||||
set(_KDE3_USE_FLAGS TRUE) # use flags for gnu compiler
|
||||
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
|
||||
OUTPUT_VARIABLE out)
|
||||
|
@ -649,7 +649,7 @@ else()
|
||||
# set CXXFLAGS to be fed into CMAKE_CXX_FLAGS by the user:
|
||||
if (HAVE_ISYSTEM) # does the compiler support -isystem ?
|
||||
if (NOT APPLE) # -isystem seems to be unsupported on Mac
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|LCC)$" AND CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC)$")
|
||||
if (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
|
||||
set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
|
||||
else()
|
||||
|
@ -223,9 +223,11 @@ endmacro()
|
||||
|
||||
macro(_test_compiler_hidden_visibility)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
|
||||
AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2")
|
||||
set(GCC_TOO_OLD TRUE)
|
||||
elseif(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.2")
|
||||
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU"
|
||||
AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.2")
|
||||
set(GCC_TOO_OLD TRUE)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0")
|
||||
set(_INTEL_TOO_OLD TRUE)
|
||||
|
@ -21,7 +21,7 @@ set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||
|
||||
include(Platform/UnixPaths)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_C_LINK_EXECUTABLE
|
||||
"<CMAKE_C_COMPILER> -Wl,-relax <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lgcc,-lc -lnss_files -lnss_dns -lresolv")
|
||||
else()
|
||||
@ -30,7 +30,7 @@ else()
|
||||
"<CMAKE_C_COMPILER> -Wl,-relax <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lc -lnss_files -lnss_dns -lresolv")
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE
|
||||
"<CMAKE_CXX_COMPILER> -Wl,-relax <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lstdc++,-lgcc,-lc -lnss_files -lnss_dns -lresolv")
|
||||
else()
|
||||
|
@ -14,12 +14,12 @@ endif()
|
||||
|
||||
if(CMAKE_SYSTEM MATCHES "OSF1-V")
|
||||
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-expect_unresolved,\\*") # -shared
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,-rpath,")
|
||||
else()
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-rpath ")
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
|
||||
else()
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-rpath ")
|
||||
@ -29,7 +29,7 @@ endif()
|
||||
|
||||
set(CMAKE_MAKE_INCLUDE_FROM_ROOT 1) # include $(CMAKE_BINARY_DIR)/...
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
# include the gcc flags
|
||||
else ()
|
||||
# use default OSF compiler flags
|
||||
|
@ -2447,7 +2447,7 @@ if(BUILD_TESTING)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||
set(BundleTestInstallDir
|
||||
"${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
|
||||
add_test(BundleTest ${CMAKE_CTEST_COMMAND}
|
||||
|
@ -19,7 +19,7 @@ macro(TEST_PASS value msg)
|
||||
endif ()
|
||||
endmacro()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE _gcc_version_info)
|
||||
string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
|
||||
# gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
|
||||
@ -52,7 +52,7 @@ check_cxx_compiler_flag(-fvisibility=hidden HAS_HIDDEN_VISIBILITY)
|
||||
|
||||
message("HAS_HIDDEN_VISIBILITY: ${HAS_HIDDEN_VISIBILITY}\n\nCOMPILE OUTPUT:\n${OUTPUT}")
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
if(NOT WIN32)
|
||||
# test_pass(HAS_HIDDEN_VISIBILITY "GCC should support hidden visibility, but does not.")
|
||||
endif()
|
||||
|
@ -57,7 +57,7 @@ else()
|
||||
message(STATUS "std::fopen found in <cstdio>")
|
||||
endif()
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC)$")
|
||||
string(APPEND CMAKE_CXX_FLAGS " -O3")
|
||||
unset(CSE_RESULT_O3 CACHE)
|
||||
message(STATUS "Testing with optimization -O3")
|
||||
|
@ -76,7 +76,7 @@ endforeach()
|
||||
|
||||
set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
if (CMAKE_C_COMPILER_ID MATCHES "^(GNU|LCC)$")
|
||||
string(APPEND CMAKE_C_FLAGS " -O3")
|
||||
unset(CSHM_RESULT_O3 CACHE)
|
||||
unset(CSHM_RESULT_O3_C CACHE)
|
||||
|
@ -37,7 +37,7 @@ else ()
|
||||
message(STATUS "errno found as expected")
|
||||
endif ()
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
if (CMAKE_C_COMPILER_ID MATCHES "^(GNU|LCC)$")
|
||||
string(APPEND CMAKE_C_FLAGS " -O3")
|
||||
unset(CSE_RESULT_O3 CACHE)
|
||||
message(STATUS "Testing with optimization -O3")
|
||||
|
@ -82,7 +82,7 @@ if(NOT 2.4 GREATER_EQUAL 2.4)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM MATCHES "OSF1-V")
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
string(APPEND CMAKE_CXX_FLAGS " -timplicit_local -no_implicit_include ")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -133,7 +133,7 @@ endif()
|
||||
add_custom_target(notInAllCustom)
|
||||
add_dependencies(notInAllCustom notInAllExe)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC)$" AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX
|
||||
AND NOT XCODE) # XCODE is excluded due to #15687
|
||||
add_executable(testSystemDir testSystemDir.cxx)
|
||||
set_target_properties(testSystemDir PROPERTIES COMPILE_FLAGS "-Werror")
|
||||
|
@ -69,7 +69,7 @@ if(NOT 2.4 EQUAL 2.4)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM MATCHES "OSF1-V")
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
string(APPEND CMAKE_CXX_FLAGS " -timplicit_local -no_implicit_include ")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -133,7 +133,7 @@ endif()
|
||||
add_custom_target(notInAllCustom)
|
||||
add_dependencies(notInAllCustom notInAllExe)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC)$" AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX
|
||||
AND NOT XCODE) # XCODE is excluded due to #15687
|
||||
add_executable(testSystemDir testSystemDir.cxx)
|
||||
set_target_properties(testSystemDir PROPERTIES COMPILE_FLAGS "-Werror")
|
||||
|
@ -82,7 +82,7 @@ if(NOT BORLAND)
|
||||
add_subdirectory(c_identifier)
|
||||
endif()
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} MATCHES Clang))
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC)$" OR (${CMAKE_CXX_COMPILER_ID} MATCHES Clang))
|
||||
# No need to clutter the test output with warnings.
|
||||
string(APPEND CMAKE_CXX_FLAGS " -Wno-deprecated-declarations")
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user