diff --git a/CMakeLists.txt b/CMakeLists.txt index fbcb5399..34405097 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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") diff --git a/cmake/boost.cmake b/cmake/boost.cmake index ff4e2f94..44b4e8ba 100644 --- a/cmake/boost.cmake +++ b/cmake/boost.cmake @@ -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)