]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
cmake: check for libc++ directly
authorMatthew Barr <matthew.barr@intel.com>
Thu, 6 Apr 2017 00:53:28 +0000 (10:53 +1000)
committerMatthew Barr <matthew.barr@intel.com>
Wed, 26 Apr 2017 05:19:52 +0000 (15:19 +1000)
Rather than trying to infer libc++ use from platform and compiler, just
look for a defined symbol.

CMakeLists.txt
cmake/boost.cmake

index fbcb53992d75a7b29080b8e45081078f33f039e4..34405097705d2dc93e46d2912870d92ccb059eb2 100644 (file)
@@ -9,6 +9,7 @@ set (HS_VERSION ${HS_MAJOR_VERSION}.${HS_MINOR_VERSION}.${HS_PATCH_VERSION})
 set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 include(CheckCCompilerFlag)
 include(CheckCXXCompilerFlag)
+include(CheckCXXSymbolExists)
 INCLUDE (CheckFunctionExists)
 INCLUDE (CheckIncludeFiles)
 INCLUDE (CheckIncludeFileCXX)
@@ -264,6 +265,9 @@ CHECK_FUNCTION_EXISTS(_aligned_malloc HAVE__ALIGNED_MALLOC)
 CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAS_C_HIDDEN)
 CHECK_CXX_COMPILER_FLAG(-fvisibility=hidden HAS_CXX_HIDDEN)
 
+# are we using libc++
+CHECK_CXX_SYMBOL_EXISTS(_LIBCPP_VERSION ciso646 HAVE_LIBCPP)
+
 if (RELEASE_BUILD)
     if (HAS_C_HIDDEN)
         set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -fvisibility=hidden")
index ff4e2f94175b6adfbca4f2abc01a29adfa52d08a..44b4e8ba667107d3f6aa74b000643e5afbb2ae36 100644 (file)
@@ -3,10 +3,8 @@
 set(BOOST_USE_STATIC_LIBS OFF)
 set(BOOST_USE_MULTITHREADED OFF)
 set(BOOST_USE_STATIC_RUNTIME OFF)
-if (CMAKE_SYSTEM_NAME MATCHES "Darwin"
-    OR (CMAKE_SYSTEM_NAME MATCHES "FreeBSD"
-        AND CMAKE_C_COMPILER_ID MATCHES "Clang"))
-    # we need a more recent boost for libc++ used by clang on OSX and FreeBSD
+if (HAVE_LIBCPP)
+    # we need a more recent boost for libc++
     set(BOOST_MINVERSION 1.61.0)
 else ()
     set(BOOST_MINVERSION 1.57.0)