diff --git a/CMakeLists.txt b/CMakeLists.txt index edd2738e890..4376def4580 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -292,7 +292,7 @@ ENDIF() SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC") -IF(CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10") +IF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10") # Enable extra checks when using a recent enough version of GNU libstdc++ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_ASSERTIONS") ENDIF() diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake index 5e9fbf7a8f0..58877c2dabb 100644 --- a/cmake/build_configurations/mysql_release.cmake +++ b/cmake/build_configurations/mysql_release.cmake @@ -174,7 +174,7 @@ ENDIF() IF(UNIX) # Default GCC flags - IF(CMAKE_COMPILER_IS_GNUCC) + IF(CMAKE_C_COMPILER_ID STREQUAL "GNU") SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized") STRING(APPEND CMAKE_C_FLAGS_DEBUG " ${COMMON_C_FLAGS}") STRING(APPEND CMAKE_C_FLAGS_RELEASE " ${COMMON_C_FLAGS}") @@ -183,7 +183,7 @@ IF(UNIX) STRING(REGEX REPLACE "-O2" "-O3" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") STRING(REGEX REPLACE "-O2" "-O3" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") ENDIF() - IF(CMAKE_COMPILER_IS_GNUCXX) + IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized") STRING(APPEND CMAKE_CXX_FLAGS_DEBUG " ${COMMON_CXX_FLAGS}") STRING(APPEND CMAKE_CXX_FLAGS_RELEASE " ${COMMON_CXX_FLAGS}") @@ -203,11 +203,11 @@ IF(UNIX) SET(z_flags "") ENDIF() - IF(CMAKE_COMPILER_IS_GNUCC) + IF(CMAKE_C_COMPILER_ID STREQUAL "GNU") STRING(APPEND CMAKE_C_FLAGS_RELEASE " ${z_flags}") STRING(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO " ${z_flags}") ENDIF() - IF(CMAKE_COMPILER_IS_GNUCXX) + IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") STRING(APPEND CMAKE_CXX_FLAGS_RELEASE " ${z_flags}") STRING(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " ${z_flags}") ENDIF() diff --git a/cmake/dtrace.cmake b/cmake/dtrace.cmake index 9d3d3cd50c5..0ba7fc7d6dd 100644 --- a/cmake/dtrace.cmake +++ b/cmake/dtrace.cmake @@ -13,7 +13,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA -IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_COMPILER_IS_GNUCXX +IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_SIZEOF_VOID_P EQUAL 4) IF(NOT DEFINED BUGGY_GCC_NO_DTRACE_MODULES) EXECUTE_PROCESS( diff --git a/cmake/maintainer.cmake b/cmake/maintainer.cmake index 25c50d82fa1..86c5f289cac 100644 --- a/cmake/maintainer.cmake +++ b/cmake/maintainer.cmake @@ -60,7 +60,7 @@ ENDFOREACH() SET(MY_ERROR_FLAGS -Werror -fno-operator-names) -IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0") +IF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0") SET(MY_ERROR_FLAGS ${MY_ERROR_FLAGS} -Wno-error=maybe-uninitialized) SET(MY_ERROR_FLAGS ${MY_ERROR_FLAGS} -Wno-error=non-virtual-dtor) # gcc bug 7302 ENDIF() diff --git a/cmake/os/SunOS.cmake b/cmake/os/SunOS.cmake index 3a9d2dccb87..e971a86e606 100644 --- a/cmake/os/SunOS.cmake +++ b/cmake/os/SunOS.cmake @@ -69,8 +69,8 @@ CHECK_C_SOURCE_RUNS( # Check is special processor flag needs to be set on older GCC -#that defaults to v8 sparc . Code here is taken from my_rdtsc.h -IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SIZEOF_VOID_P EQUAL 4 +# that defaults to v8 sparc . Code here is taken from my_rdtsc.h +IF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_SIZEOF_VOID_P EQUAL 4 AND CMAKE_SYSTEM_PROCESSOR MATCHES "sparc") SET(SOURCE " diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt index 5970be64ca5..154080aca7c 100644 --- a/mysys/CMakeLists.txt +++ b/mysys/CMakeLists.txt @@ -67,19 +67,19 @@ IF(MSVC_INTEL) ENDIF() ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|i386|i686") SET(MYSYS_SOURCES ${MYSYS_SOURCES} crc32/crc32_x86.c crc32/crc32c_x86.cc) - IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5") + IF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5") SET_SOURCE_FILES_PROPERTIES(crc32/crc32_x86.c PROPERTIES COMPILE_FLAGS "-msse4.2 -mpclmul") ENDIF() IF(CMAKE_SIZEOF_VOID_P EQUAL 8) SET(MYSYS_SOURCES ${MYSYS_SOURCES} crc32/crc32c_amd64.cc) - IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5") + IF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5") SET_SOURCE_FILES_PROPERTIES(crc32/crc32c_amd64.cc PROPERTIES COMPILE_FLAGS "-msse4.2 -mpclmul") ENDIF() ENDIF() ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") - IF(CMAKE_COMPILER_IS_GNUCC) + IF(CMAKE_C_COMPILER_ID STREQUAL "GNU") include(CheckCXXSourceCompiles) CHECK_CXX_SOURCE_COMPILES(" diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 2626aebcff3..f3c435ab171 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -394,7 +394,7 @@ ELSE() ENDIF() # Install libgcc as mylibgcc.a -IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_FLAGS MATCHES "-static") +IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_FLAGS MATCHES "-static") EXECUTE_PROCESS ( COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} ${CMAKE_CXX_FLAGS} --print-libgcc diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index 64540c2256d..c25db81968e 100644 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -95,7 +95,7 @@ ENDIF() IF(NOT MSVC) # Work around MDEV-18417, MDEV-18656, MDEV-18417 - IF(WITH_ASAN AND CMAKE_COMPILER_IS_GNUCC AND + IF(WITH_ASAN AND CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0") SET_SOURCE_FILES_PROPERTIES(trx/trx0rec.cc PROPERTIES COMPILE_FLAGS -O1) ENDIF() @@ -455,7 +455,7 @@ ADD_DEFINITIONS(${SSL_DEFINES} ${TPOOL_DEFINES}) # A GCC bug causes crash when compiling these files on ARM64 with -O1+ # Compile them with -O0 as a workaround. -IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" +IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5.2.0") ADD_COMPILE_FLAGS( btr/btr0btr.cc diff --git a/storage/mroonga/CMakeLists.txt b/storage/mroonga/CMakeLists.txt index 6135a4bc7fd..1538b6cc46a 100644 --- a/storage/mroonga/CMakeLists.txt +++ b/storage/mroonga/CMakeLists.txt @@ -326,7 +326,7 @@ else() if(WITH_DEBUG) set_property(TARGET mroonga APPEND PROPERTY COMPILE_DEFINITIONS "SAFE_MUTEX") - if(CMAKE_COMPILER_IS_GNUCXX) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(MRN_C_COMPILE_FLAGS "${MRN_C_COMPILE_FLAGS} -g3 -O0") set(MRN_CXX_COMPILE_FLAGS "${MRN_CXX_COMPILE_FLAGS} -g3 -O0") endif() @@ -353,7 +353,7 @@ else() COMPILE_DEFINITIONS "MY_PTHREAD_FASTMUTEX") endif() - if(CMAKE_COMPILER_IS_GNUCXX) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") MY_CHECK_AND_SET_COMPILER_FLAG("-Wall") MY_CHECK_AND_SET_COMPILER_FLAG("-Wextra") MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-unused-parameter")