Fix cmake-clang for macos

* Also fix for ubuntu 18, by decreasing required cmake version.
This commit is contained in:
Jammyjamjamman 2021-07-02 19:47:35 +01:00 committed by James Sherratt
parent c5245a9e73
commit db8d2dd355
3 changed files with 9 additions and 9 deletions

View File

@ -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()

View File

@ -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()

View File

@ -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()