Skip to content
Snippets Groups Projects
boost.cmake 2.02 KiB
Newer Older
cmake_minimum_required ( VERSION 2.8.7 )

      SET (Boost_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/include/boost/)
      SET (Boost_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/lib )
      SET (BOOST_URL https://github.com/boostorg/boost.git )
      SET (BOOST_BUILD ${CMAKE_CURRENT_BINARY_DIR})
      SET (FILESYSTEM_LIB ${BOOST_BUILD}/lib/libboost_filesystem.a)
      SET (SYSTEM_LIB ${BOOST_BUILD}/lib/libboost_system.a)
      SET (REGEX_LIB ${BOOST_BUILD}/lib/libboost_regex.a)
      SET (PROGRAM_OPTIONS_LIB ${BOOST_BUILD}/lib/libboost_program_options.a)

      ExternalProject_Add( Boost
        PREFIX Boost
        GIT_REPOSITORY ${BOOST_URL}
        GIT_SUBMODULES  libs/asio libs/date_time libs/config libs/core  libs/detail  libs/io libs/iterator libs/predef libs/preprocessor  libs/smart_ptr libs/throw_exception libs/system libs/filesystem  libs/integer tools/build tools/bcp libs/serialization libs/interprocess libs/tokenizer libs/algorithm libs/program_options  libs/regex  libs/static_assert  libs/thread  libs/utility libs/numeric libs/range libs/array libs/bind libs/concept_check libs/lexical_cast libs/math libs/functional libs/assert libs/type_traits libs/mpl libs/move libs/container libs/any libs/type_index libs/function

        UPDATE_COMMAND ./bootstrap.sh --with-libraries=filesystem,system,regex,program_options --includedir=${CMAKE_BINARY_DIR}/include/
        CONFIGURE_COMMAND ./b2 headers
        BUILD_COMMAND ./b2 link=static install --libdir=${CMAKE_BINARY_DIR}/lib
        BUILD_IN_SOURCE 1
        INSTALL_COMMAND ""
      )

      ADD_LIBRARY (Boost_LIB STATIC IMPORTED DEPENDS Boost)
      SET_TARGET_PROPERTIES (Boost_LIB PROPERTIES IMPORTED_LOCATION ${FILESYSTEM_LIB})
      SET_TARGET_PROPERTIES (Boost_LIB PROPERTIES IMPORTED_LOCATION ${SYSTEM_LIB})
      SET_TARGET_PROPERTIES (Boost_LIB PROPERTIES IMPORTED_LOCATION ${REGEX_LIB})
      SET_TARGET_PROPERTIES (Boost_LIB PROPERTIES IMPORTED_LOCATION ${PROGRAM_OPTIONS_LIB})
endif()