|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
project(TestFindBoost CXX)
|
|
|
|
include(CTest)
|
|
|
|
|
|
|
|
set(Boost_NO_BOOST_CMAKE ON)
|
|
|
|
find_package(Boost REQUIRED COMPONENTS filesystem thread
|
|
|
|
OPTIONAL_COMPONENTS program_options foobar)
|
|
|
|
|
|
|
|
if(Boost_FOOBAR_FOUND)
|
|
|
|
message(FATAL_ERROR "Optional inexistent Boost component \"foobar\" found which is unexpected")
|
|
|
|
endif(Boost_FOOBAR_FOUND)
|
|
|
|
|
|
|
|
if(NOT Boost_PROGRAM_OPTIONS_FOUND)
|
|
|
|
message(FATAL_ERROR "Optional Boost component \"program_options\" not found which is unexpected")
|
|
|
|
endif(NOT Boost_PROGRAM_OPTIONS_FOUND)
|
|
|
|
|
|
|
|
add_definitions(-DCMAKE_EXPECTED_BOOST_VERSION="${Boost_VERSION}")
|
|
|
|
add_definitions(-DCMAKE_EXPECTED_BOOST_VERSION_COMPONENTS="${Boost_VERSION_STRING}")
|
|
|
|
|
|
|
|
add_executable(test_boost_tgt main.cxx)
|
|
|
|
target_link_libraries(test_boost_tgt
|
|
|
|
Boost::dynamic_linking
|
|
|
|
Boost::disable_autolinking
|
|
|
|
Boost::filesystem
|
|
|
|
Boost::thread)
|
|
|
|
add_test(NAME test_boost_tgt COMMAND test_boost_tgt)
|
|
|
|
|
|
|
|
add_executable(test_boost_var main.cxx)
|
|
|
|
target_include_directories(test_boost_var PRIVATE ${Boost_INCLUDE_DIRS})
|
|
|
|
target_link_libraries(test_boost_var PRIVATE ${Boost_FILESYSTEM_LIBRARIES} ${Boost_SYSTEM_LIBRARIES} ${Boost_THREAD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
add_test(NAME test_boost_var COMMAND test_boost_var)
|