cmake_minimum_required(VERSION 2.8) include(ExternalProject) # Download boost from git if ( UNIX ) 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_STATIC_LIBRARIES ${BOOST_BUILD}/lib/libboost_filesystem.a) SET (SYSTEM_STATIC_LIBRARIES ${BOOST_BUILD}/lib/libboost_system.a) SET (PROGRAM_OPTIONS_STATIC_LIBRARIES ${BOOST_BUILD}/lib/libboost_program_options.a) ExternalProject_Add( Boost PREFIX Boost GIT_REPOSITORY ${BOOST_URL} UPDATE_COMMAND ./bootstrap.sh --with-libraries=filesystem,system,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_STATIC_LIBRARIES}) SET_TARGET_PROPERTIES (Boost_LIB PROPERTIES IMPORTED_LOCATION ${SYSTEM_STATIC_LIBRARIES}) SET_TARGET_PROPERTIES (Boost_LIB PROPERTIES IMPORTED_LOCATION ${PROGRAM_OPTIONS_STATIC_LIBRARIES}) endif () endif()