From 50e57aa4ca81ae0903e4b217812d73655038f0b2 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Fri, 28 Mar 2025 22:36:58 +0100 Subject: [PATCH] CMAKE_COMPILER_IS_*: Replace with CMAKE__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). --- CompileFlags.cmake | 8 ++++---- Modules/CMakeBackwardCompatibilityCXX.cmake | 2 +- Modules/CMakeCInformation.cmake | 2 +- Modules/CMakeCXXInformation.cmake | 2 +- Modules/CMakeDetermineCCompiler.cmake | 1 - Modules/CMakeDetermineCXXCompiler.cmake | 1 - Modules/CMakeDetermineOBJCCompiler.cmake | 2 -- Modules/CMakeDetermineOBJCXXCompiler.cmake | 2 -- Modules/CMakeFortranInformation.cmake | 2 +- Modules/CMakeOBJCInformation.cmake | 2 +- Modules/CMakeOBJCXXInformation.cmake | 2 +- Modules/CMakePrintSystemInformation.cmake | 4 ++-- Modules/FindCUDA.cmake | 2 +- Modules/FindKDE3.cmake | 2 +- Modules/FindwxWindows.cmake | 2 +- Modules/GenerateExportHeader.cmake | 6 ++++-- Modules/Platform/BlueGeneL.cmake | 4 ++-- Modules/Platform/OSF1.cmake | 6 +++--- Tests/CMakeLists.txt | 2 +- Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt | 4 ++-- Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt | 2 +- Tests/CMakeOnly/CheckStructHasMember/CMakeLists.txt | 2 +- Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt | 2 +- Tests/Complex/CMakeLists.txt | 2 +- Tests/Complex/Executable/CMakeLists.txt | 2 +- Tests/ComplexOneConfig/CMakeLists.txt | 2 +- Tests/ComplexOneConfig/Executable/CMakeLists.txt | 2 +- Tests/RunCMake/GenerateExportHeader/GEH.cmake | 2 +- 28 files changed, 35 insertions(+), 39 deletions(-) diff --git a/CompileFlags.cmake b/CompileFlags.cmake index 14f944bca8..8653e5fc9b 100644 --- a/CompileFlags.cmake +++ b/CompileFlags.cmake @@ -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() diff --git a/Modules/CMakeBackwardCompatibilityCXX.cmake b/Modules/CMakeBackwardCompatibilityCXX.cmake index b0e6c16e7c..2ed99d3573 100644 --- a/Modules/CMakeBackwardCompatibilityCXX.cmake +++ b/Modules/CMakeBackwardCompatibilityCXX.cmake @@ -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") diff --git a/Modules/CMakeCInformation.cmake b/Modules/CMakeCInformation.cmake index 98b97de969..5d34ba3770 100644 --- a/Modules/CMakeCInformation.cmake +++ b/Modules/CMakeCInformation.cmake @@ -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() diff --git a/Modules/CMakeCXXInformation.cmake b/Modules/CMakeCXXInformation.cmake index 99f72013de..09d05db41b 100644 --- a/Modules/CMakeCXXInformation.cmake +++ b/Modules/CMakeCXXInformation.cmake @@ -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() diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake index 98d57c80c0..fbe51662e4 100644 --- a/Modules/CMakeDetermineCCompiler.cmake +++ b/Modules/CMakeDetermineCCompiler.cmake @@ -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 diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake index a5d33a0453..5331681353 100644 --- a/Modules/CMakeDetermineCXXCompiler.cmake +++ b/Modules/CMakeDetermineCXXCompiler.cmake @@ -13,7 +13,6 @@ # # Sets the following variables: # CMAKE_CXX_COMPILER -# CMAKE_COMPILER_IS_GNUCXX # CMAKE_AR # CMAKE_RANLIB # diff --git a/Modules/CMakeDetermineOBJCCompiler.cmake b/Modules/CMakeDetermineOBJCCompiler.cmake index 43a0b4aabc..75b3900800 100644 --- a/Modules/CMakeDetermineOBJCCompiler.cmake +++ b/Modules/CMakeDetermineOBJCCompiler.cmake @@ -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 diff --git a/Modules/CMakeDetermineOBJCXXCompiler.cmake b/Modules/CMakeDetermineOBJCXXCompiler.cmake index cf56342ebe..8036da20a6 100644 --- a/Modules/CMakeDetermineOBJCXXCompiler.cmake +++ b/Modules/CMakeDetermineOBJCXXCompiler.cmake @@ -13,8 +13,6 @@ # # Sets the following variables: # CMAKE_OBJCXX_COMPILER -# CMAKE_COMPILER_IS_GNUOBJCXX -# CMAKE_COMPILER_IS_CLANGOBJCXX # CMAKE_AR # CMAKE_RANLIB # diff --git a/Modules/CMakeFortranInformation.cmake b/Modules/CMakeFortranInformation.cmake index 8d8ff20bb6..675e55831f 100644 --- a/Modules/CMakeFortranInformation.cmake +++ b/Modules/CMakeFortranInformation.cmake @@ -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) diff --git a/Modules/CMakeOBJCInformation.cmake b/Modules/CMakeOBJCInformation.cmake index bac667310a..b9013e41cd 100644 --- a/Modules/CMakeOBJCInformation.cmake +++ b/Modules/CMakeOBJCInformation.cmake @@ -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() diff --git a/Modules/CMakeOBJCXXInformation.cmake b/Modules/CMakeOBJCXXInformation.cmake index 8a7a42c2d8..2bd35a2760 100644 --- a/Modules/CMakeOBJCXXInformation.cmake +++ b/Modules/CMakeOBJCXXInformation.cmake @@ -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() diff --git a/Modules/CMakePrintSystemInformation.cmake b/Modules/CMakePrintSystemInformation.cmake index 98e48e5210..4a539bcc11 100644 --- a/Modules/CMakePrintSystemInformation.cmake +++ b/Modules/CMakePrintSystemInformation.cmake @@ -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}") diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 284726c4b0..bceb615ca0 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -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" diff --git a/Modules/FindKDE3.cmake b/Modules/FindKDE3.cmake index a2e0219582..ab816d0c86 100644 --- a/Modules/FindKDE3.cmake +++ b/Modules/FindKDE3.cmake @@ -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) diff --git a/Modules/FindwxWindows.cmake b/Modules/FindwxWindows.cmake index 83d6018b42..43ec8128be 100644 --- a/Modules/FindwxWindows.cmake +++ b/Modules/FindwxWindows.cmake @@ -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() diff --git a/Modules/GenerateExportHeader.cmake b/Modules/GenerateExportHeader.cmake index a4e904cb15..e53beadc45 100644 --- a/Modules/GenerateExportHeader.cmake +++ b/Modules/GenerateExportHeader.cmake @@ -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) diff --git a/Modules/Platform/BlueGeneL.cmake b/Modules/Platform/BlueGeneL.cmake index 0ed99757eb..9f69be0b32 100644 --- a/Modules/Platform/BlueGeneL.cmake +++ b/Modules/Platform/BlueGeneL.cmake @@ -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 " -Wl,-relax -o -Wl,-lgcc,-lc -lnss_files -lnss_dns -lresolv") else() @@ -30,7 +30,7 @@ else() " -Wl,-relax -o -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 " -Wl,-relax -o -Wl,-lstdc++,-lgcc,-lc -lnss_files -lnss_dns -lresolv") else() diff --git a/Modules/Platform/OSF1.cmake b/Modules/Platform/OSF1.cmake index f2ad6129c0..b400313386 100644 --- a/Modules/Platform/OSF1.cmake +++ b/Modules/Platform/OSF1.cmake @@ -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 diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index b03c827736..f14fac06b7 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -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} diff --git a/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt b/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt index 3e19447dfb..1b46b97350 100644 --- a/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt +++ b/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt @@ -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() diff --git a/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt b/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt index 380dad7549..c0ca2c74bf 100644 --- a/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt +++ b/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt @@ -57,7 +57,7 @@ else() message(STATUS "std::fopen found in ") 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") diff --git a/Tests/CMakeOnly/CheckStructHasMember/CMakeLists.txt b/Tests/CMakeOnly/CheckStructHasMember/CMakeLists.txt index a9e99ece62..c22f7ec86f 100644 --- a/Tests/CMakeOnly/CheckStructHasMember/CMakeLists.txt +++ b/Tests/CMakeOnly/CheckStructHasMember/CMakeLists.txt @@ -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) diff --git a/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt b/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt index 9d97ea7fe8..0a8be7ab0e 100644 --- a/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt +++ b/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt @@ -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") diff --git a/Tests/Complex/CMakeLists.txt b/Tests/Complex/CMakeLists.txt index ce27bde099..0ea297093a 100644 --- a/Tests/Complex/CMakeLists.txt +++ b/Tests/Complex/CMakeLists.txt @@ -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() diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index c382dd135d..1e9d0d8adb 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/Tests/Complex/Executable/CMakeLists.txt @@ -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") diff --git a/Tests/ComplexOneConfig/CMakeLists.txt b/Tests/ComplexOneConfig/CMakeLists.txt index 87259807a1..3dc4ecabe8 100644 --- a/Tests/ComplexOneConfig/CMakeLists.txt +++ b/Tests/ComplexOneConfig/CMakeLists.txt @@ -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() diff --git a/Tests/ComplexOneConfig/Executable/CMakeLists.txt b/Tests/ComplexOneConfig/Executable/CMakeLists.txt index 66c45e519c..24ba3970a7 100644 --- a/Tests/ComplexOneConfig/Executable/CMakeLists.txt +++ b/Tests/ComplexOneConfig/Executable/CMakeLists.txt @@ -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") diff --git a/Tests/RunCMake/GenerateExportHeader/GEH.cmake b/Tests/RunCMake/GenerateExportHeader/GEH.cmake index a34708eebf..948a799428 100644 --- a/Tests/RunCMake/GenerateExportHeader/GEH.cmake +++ b/Tests/RunCMake/GenerateExportHeader/GEH.cmake @@ -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()