cmake_minimum_required ( VERSION 2.8.7 ) # Download boost from git include(ExternalProject) if (NOT Boost) 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.lib) SET (SYSTEM_LIB ${BOOST_BUILD}/lib/libboost_system.lib) SET (REGEX_LIB ${BOOST_BUILD}/lib/libboost_regex.lib) SET (PROGRAM_OPTIONS_LIB ${BOOST_BUILD}/lib/libboost_program_options.lib) 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()