diff --git a/CMakeLists.txt b/CMakeLists.txt index adc56b8e..946fcbd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -CMAKE_MINIMUM_REQUIRED( VERSION 3.20 ) +CMAKE_MINIMUM_REQUIRED( VERSION 3.10 ) IF(WIN32) STRING(SUBSTRING ${CMAKE_GENERATOR} 0 13 GENERATOR_TYPE) @@ -58,7 +58,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/mk/cmake/Modules) IF(CMAKE_BUILD_TYPE) MESSAGE(STATUS "Build type for this compile will be: ${CMAKE_BUILD_TYPE}") ENDIF() -IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") SET(CMAKE_COMPILER_IS_GNUCXX "YES") # ADD_DEFINITIONS("-Qunused-arguments -Wno-switch") ADD_DEFINITIONS("-Wno-switch") @@ -138,7 +138,7 @@ IF(APPLE) ENDIF(APPLE) IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW OR VS_BUILD) - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") MESSAGE(STATUS "Detected CLANG Compiler...") ELSEIF(CMAKE_COMPILER_IS_GNUCXX) MESSAGE(STATUS "Detected GNUC Compiler...") @@ -165,7 +165,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW OR VS_BUILD) ENDIF() # CLang specific Compiler Options - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") ELSEIF(VS_BUILD) @@ -449,7 +449,7 @@ ENDIF() #get_directory_property( DirDefs COMPILE_DEFINITIONS ) #MESSAGE(STATUS ">>>> NOTICE Compiler definitions used: ${DirDefs}") #MESSAGE(STATUS "END of compile defs...") -IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") MESSAGE(WARNING ">> CLANG is NOT currently compatible as it does not support the following essential GCC compiler settings: -frounding-math -fsignaling-nans") ENDIF() diff --git a/mk/cmake/Modules/SpecialMacros.cmake b/mk/cmake/Modules/SpecialMacros.cmake index 983f27ab..c8c86794 100644 --- a/mk/cmake/Modules/SpecialMacros.cmake +++ b/mk/cmake/Modules/SpecialMacros.cmake @@ -77,14 +77,14 @@ macro(special_check_for_sse _max_sse_level_desired) if(HAS_SSE3_EXTENSIONS AND (${_max_sse_level_desired} MATCHES "3")) set(SSE_FLAGS "-msse3") - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") ELSE() set(SSE_FLAGS "${SSE_FLAGS} -mfpmath=sse") ENDIF() message(STATUS "Found SSE3 extensions, using flags: ${SSE_FLAGS}") elseif(HAS_SSE2_EXTENSIONS AND (${_max_sse_level_desired} MATCHES "2" OR ${_max_sse_level_desired} MATCHES "3")) set(SSE_FLAGS "-msse2") - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") ELSE() set(SSE_FLAGS "${SSE_FLAGS} -mfpmath=sse") ENDIF() @@ -92,7 +92,7 @@ macro(special_check_for_sse _max_sse_level_desired) message(STATUS "Found SSE2 extensions, using flags: ${SSE_FLAGS}") elseif(HAS_SSE_EXTENSIONS AND (${_max_sse_level_desired} MATCHES "1" OR ${_max_sse_level_desired} MATCHES "2" OR ${_max_sse_level_desired} MATCHES "3")) set(SSE_FLAGS "-msse") - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") ELSE() set(SSE_FLAGS "${SSE_FLAGS} -mfpmath=sse") ENDIF() diff --git a/mk/macos/CMakeLists.txt b/mk/macos/CMakeLists.txt index a587c35c..747f0c2b 100644 --- a/mk/macos/CMakeLists.txt +++ b/mk/macos/CMakeLists.txt @@ -8,7 +8,7 @@ # Seems like a good place to add version specific compiler flags too. IF(NOT CONFIG_HAS_BEEN_RUN_BEFORE) - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++") #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden") ENDIF()