Back to home page

sPhenix code displayed by LXR

 
 

    


Warning, /acts/thirdparty/boost/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 message(STATUS "Building Boost ${_acts_boost_recommended_version}")
0002 
0003 include(ExternalProject)
0004 
0005 string(REPLACE "." "_" _acts_boost_recommended_version_ ${_acts_boost_recommended_version})
0006 set(Boost_URL "https://boostorg.jfrog.io/artifactory/main/release/${_acts_boost_recommended_version}/source/boost_${_acts_boost_recommended_version_}.tar.gz")
0007 set(Boost_LIBRARY_LIST "filesystem,program_options,test")
0008 set(Boost_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/boost-prefix/src/boost)
0009 set(Boost_INCLUDE_DIR ${Boost_SOURCE_DIR})
0010 set(Boost_LIBRARY_DIR ${Boost_SOURCE_DIR}/stage/lib)
0011 set(Boost_B2_CXXFLAGS -std=c++17\ -fPIC\ -O3)
0012 set(Boost_B2_FLAGS variant=release threading=multi runtime-link=shared link=shared cxxflags=${Boost_B2_CXXFLAGS})
0013 
0014 # Target for boost headers
0015 
0016 # Note: Since all builds below depend on the headers, use this step to
0017 # download the boost release
0018 
0019 ExternalProject_Add(
0020   boost
0021   URL ${Boost_URL}
0022   CONFIGURE_COMMAND ""
0023   BUILD_COMMAND ""
0024   INSTALL_COMMAND ""
0025 )
0026 
0027 add_library(Boost::boost INTERFACE IMPORTED GLOBAL)
0028 add_dependencies(Boost::boost boost)
0029 target_include_directories(Boost::boost INTERFACE ${Boost_INCLUDE_DIR})
0030 install(DIRECTORY ${Boost_INCLUDE_DIR}/boost DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
0031 
0032 # Target for bootstrap step
0033 
0034 # Note: Required by all builds but not by header-only target, so need
0035 # a separate target
0036 
0037 # Note: Re-use ExternalProject_Add instead of Add_Step because I can't
0038 # figure out how to avoid race conditions and duplicate downloads with
0039 # Add_Step targets.  From cmake's point of view they will all be
0040 # different project but they all use the same working directory, so it
0041 # does the right thing.  (L-G)
0042 
0043 ExternalProject_Add(
0044   boost_bootstrap
0045   DOWNLOAD_COMMAND ""
0046   CONFIGURE_COMMAND ""
0047   BUILD_COMMAND ./bootstrap.sh --with-libraries=${Boost_LIBRARY_LIST}
0048   INSTALL_COMMAND ""
0049   DEPENDS boost
0050   LOG_BUILD true
0051   SOURCE_DIR ${Boost_SOURCE_DIR}
0052   BUILD_IN_SOURCE true
0053   EXCLUDE_FROM_ALL true
0054 )
0055 
0056 # Target for Boost::program_options
0057 
0058 ExternalProject_Add(
0059   boost_build_program_options
0060   DOWNLOAD_COMMAND ""
0061   CONFIGURE_COMMAND ""
0062   BUILD_COMMAND ./b2 ${Boost_B2_FLAGS} --with-program_options
0063   INSTALL_COMMAND ""
0064   DEPENDS boost_bootstrap
0065   SOURCE_DIR ${Boost_SOURCE_DIR}
0066   LOG_BUILD true
0067   BUILD_IN_SOURCE true
0068   BUILD_BYPRODUCTS ${Boost_LIBRARY_DIR}/libboost_program_options.so.${_acts_boost_recommended_version}
0069   EXCLUDE_FROM_ALL true
0070 )
0071 
0072 add_library(boost_program_options SHARED IMPORTED GLOBAL)
0073 target_link_libraries(boost_program_options INTERFACE Boost::boost)
0074 set_target_properties(boost_program_options PROPERTIES IMPORTED_LOCATION ${Boost_LIBRARY_DIR}/libboost_program_options.so.${_acts_boost_recommended_version})
0075 add_dependencies(boost_program_options boost_build_program_options)
0076 add_library(Boost::program_options ALIAS boost_program_options)
0077 install(FILES ${Boost_LIBRARY_DIR}/libboost_program_options.so.${_acts_boost_recommended_version} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
0078 
0079 # Target for Boost::unit_test_framework
0080 
0081 ExternalProject_Add(
0082   boost_build_unit_test_framework
0083   DOWNLOAD_COMMAND ""
0084   CONFIGURE_COMMAND ""
0085   BUILD_COMMAND ./b2 ${Boost_B2_FLAGS} --with-test
0086   INSTALL_COMMAND ""
0087   DEPENDS boost_bootstrap
0088   SOURCE_DIR ${Boost_SOURCE_DIR}
0089   LOG_BUILD true
0090   BUILD_IN_SOURCE true
0091   BUILD_BYPRODUCTS ${Boost_LIBRARY_DIR}/libboost_unit_test_framework.so.${_acts_boost_recommended_version}
0092   EXCLUDE_FROM_ALL true
0093 )
0094 
0095 add_library(boost_unit_test_framework SHARED IMPORTED GLOBAL)
0096 target_link_libraries(boost_unit_test_framework INTERFACE Boost::boost)
0097 set_target_properties(boost_unit_test_framework PROPERTIES IMPORTED_LOCATION ${Boost_LIBRARY_DIR}/libboost_unit_test_framework.so.${_acts_boost_recommended_version})
0098 add_dependencies(boost_unit_test_framework boost_build_unit_test_framework)
0099 add_library(Boost::unit_test_framework ALIAS boost_unit_test_framework)
0100 install(FILES ${Boost_LIBRARY_DIR}/libboost_unit_test_framework.so.${_acts_boost_recommended_version} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)