summaryrefslogtreecommitdiffstats
path: root/Tests/FindBoost/Test/CMakeLists.txt
blob: f60ccfa009c9f71ec198fda0ba841c322085cc23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cmake_minimum_required(VERSION 3.1)
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)