From b68e4ea336613b9f1251dbe466df712c5d479428 Mon Sep 17 00:00:00 2001 From: Matthew Barr Date: Fri, 17 Mar 2017 09:25:03 +1100 Subject: [PATCH] cmake: move boost tests --- CMakeLists.txt | 28 ---------------------------- cmake/boost.cmake | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0776e42c..d9bf171a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,34 +59,6 @@ include_directories(${PROJECT_SOURCE_DIR}/src) include_directories(${PROJECT_BINARY_DIR}) include_directories(SYSTEM include) -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 - set(BOOST_MINVERSION 1.61.0) -else () - set(BOOST_MINVERSION 1.57.0) -endif () -set(BOOST_NO_BOOST_CMAKE ON) - -unset(Boost_INCLUDE_DIR CACHE) -# we might have boost in tree, so provide a hint and try again -set(BOOST_INCLUDEDIR "${PROJECT_SOURCE_DIR}/include") -find_package(Boost ${BOOST_MINVERSION} QUIET) -if(NOT Boost_FOUND) - # otherwise check for Boost installed on the system - unset(BOOST_INCLUDEDIR) - find_package(Boost ${BOOST_MINVERSION} QUIET) - if(NOT Boost_FOUND) - message(FATAL_ERROR "Boost ${BOOST_MINVERSION} or later not found. Either install system packages if available, extract Boost headers to ${CMAKE_SOURCE_DIR}/include, or set the CMake BOOST_ROOT variable.") - endif() -endif() - -message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") - include (${CMAKE_MODULE_PATH}/boost.cmake) # -- make this work? set(python_ADDITIONAL_VERSIONS 2.7 2.6) diff --git a/cmake/boost.cmake b/cmake/boost.cmake index b7fda421..ff4e2f94 100644 --- a/cmake/boost.cmake +++ b/cmake/boost.cmake @@ -1,3 +1,33 @@ +# Various checks related to Boost + +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 + set(BOOST_MINVERSION 1.61.0) +else () + set(BOOST_MINVERSION 1.57.0) +endif () +set(BOOST_NO_BOOST_CMAKE ON) + +unset(Boost_INCLUDE_DIR CACHE) +# we might have boost in tree, so provide a hint and try again +set(BOOST_INCLUDEDIR "${PROJECT_SOURCE_DIR}/include") +find_package(Boost ${BOOST_MINVERSION} QUIET) +if(NOT Boost_FOUND) + # otherwise check for Boost installed on the system + unset(BOOST_INCLUDEDIR) + find_package(Boost ${BOOST_MINVERSION} QUIET) + if(NOT Boost_FOUND) + message(FATAL_ERROR "Boost ${BOOST_MINVERSION} or later not found. Either install system packages if available, extract Boost headers to ${CMAKE_SOURCE_DIR}/include, or set the CMake BOOST_ROOT variable.") + endif() +endif() + +message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") + # Boost 1.62 has a bug that we've patched around, check if it is required if (Boost_VERSION EQUAL 106200) set (CMAKE_REQUIRED_INCLUDES ${BOOST_INCLUDEDIR} "${PROJECT_SOURCE_DIR}/include")