From d4bb2fa418ab6a0418053fd4ee47cf3bf2b126bb Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sat, 17 Oct 2020 13:33:22 +0300 Subject: [PATCH] - fixed detection of Apple's Clang --- CMakeLists.txt | 11 +++-------- src/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d6a76421..8c030d66b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,13 +132,13 @@ else() endif() # Replacement variables for a possible long list of C/C++ compilers compatible with GCC -if( "${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" ) +if( "${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" MATCHES "Clang" ) set( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE TRUE ) else() set( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE FALSE ) endif() -if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" ) +if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) set( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE TRUE ) else() set( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE FALSE ) @@ -272,12 +272,7 @@ else() if( APPLE ) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9") - if( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) - # With standard Apple tools -stdlib=libc++ needs to be specified in order to get - # C++11 support using SDKs 10.7 and 10.8. - set( CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}" ) - set( CMAKE_EXE_LINKER_FLAGS "-stdlib=libc++ ${CMAKE_EXE_LINKER_FLAGS}" ) - elseif( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" ) + if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" ) # If we're compiling with a custom GCC on the Mac (which we know since g++-4.2 doesn't support C++11) statically link libgcc. set( ALL_C_FLAGS "-static-libgcc" ) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e13cb4afe..aa18ccdfb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -307,7 +307,7 @@ if( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE ) set( CMAKE_C_FLAGS "-Wno-unused-result ${CMAKE_C_FLAGS}" ) set( CMAKE_CXX_FLAGS "-Wno-unused-result ${CMAKE_CXX_FLAGS}" ) endif() - if( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) + if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) if( APPLE OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "3.6" ) set( CMAKE_CXX_FLAGS "-Wno-inconsistent-missing-override ${CMAKE_CXX_FLAGS}" ) endif()