|
1 | | -if(HIGHFIVE_TEST_BOOST AND NOT TARGET HighFiveBoostDependency) |
| 1 | +if(NOT TARGET HighFiveBoostDependency) |
2 | 2 | add_library(HighFiveBoostDependency INTERFACE) |
3 | | - find_package(Boost REQUIRED) |
4 | | - target_link_libraries(HighFiveBoostDependency INTERFACE Boost::headers) |
5 | | - # TODO check if we need Boost::disable_autolinking to cause: |
6 | | - # -DBOOST_ALL_NO_LIB (does something on MSVC). |
| 3 | + if(HIGHFIVE_TEST_BOOST) |
| 4 | + find_package(Boost REQUIRED) |
| 5 | + target_link_libraries(HighFiveBoostDependency INTERFACE Boost::headers) |
| 6 | + # TODO check if we need Boost::disable_autolinking to cause: |
| 7 | + # -DBOOST_ALL_NO_LIB (does something on MSVC). |
| 8 | + target_compile_definitions(HighFiveBoostDependency INTERFACE HIGHFIVE_TEST_BOOST=1) |
| 9 | + endif() |
7 | 10 | endif() |
8 | 11 |
|
9 | | -if(HIGHFIVE_TEST_EIGEN AND NOT TARGET HighFiveEigenDependency) |
| 12 | +if(NOT TARGET HighFiveEigenDependency) |
10 | 13 | add_library(HighFiveEigenDependency INTERFACE) |
11 | | - find_package(Eigen3 REQUIRED NO_MODULE) |
12 | | - target_link_libraries(HighFiveEigenDependency INTERFACE Eigen3::Eigen) |
| 14 | + if(HIGHFIVE_TEST_EIGEN) |
| 15 | + find_package(Eigen3 REQUIRED NO_MODULE) |
| 16 | + target_link_libraries(HighFiveEigenDependency INTERFACE Eigen3::Eigen) |
| 17 | + target_compile_definitions(HighFiveEigenDependency INTERFACE HIGHFIVE_TEST_EIGEN=1) |
| 18 | + endif() |
13 | 19 | endif() |
14 | 20 |
|
15 | | -if(HIGHFIVE_TEST_XTENSOR AND NOT TARGET HighFiveXTensorDependency) |
| 21 | +if(NOT TARGET HighFiveXTensorDependency) |
16 | 22 | add_library(HighFiveXTensorDependency INTERFACE) |
17 | | - find_package(xtensor REQUIRED) |
18 | | - target_link_libraries(HighFiveXTensorDependency INTERFACE xtensor) |
| 23 | + if(HIGHFIVE_TEST_XTENSOR) |
| 24 | + find_package(xtensor REQUIRED) |
| 25 | + target_link_libraries(HighFiveXTensorDependency INTERFACE xtensor) |
| 26 | + target_compile_definitions(HighFiveXTensorDependency INTERFACE HIGHFIVE_TEST_XTENSOR=1) |
| 27 | + endif() |
19 | 28 | endif() |
20 | 29 |
|
21 | | -if(HIGHFIVE_TEST_OPENCV AND NOT TARGET HighFiveOpenCVDependency) |
| 30 | +if(NOT TARGET HighFiveOpenCVDependency) |
22 | 31 | add_library(HighFiveOpenCVDependency INTERFACE) |
23 | | - find_package(OpenCV REQUIRED) |
24 | | - target_include_directories(HighFiveOpenCVDependency SYSTEM INTERFACE ${OpenCV_INCLUDE_DIRS}) |
25 | | - target_link_libraries(HighFiveOpenCVDependency INTERFACE ${OpenCV_LIBS}) |
26 | | - target_compile_definitions(HighFiveOpenCVDependency INTERFACE H5_USE_OPENCV) |
| 32 | + if(HIGHFIVE_TEST_OPENCV) |
| 33 | + find_package(OpenCV REQUIRED) |
| 34 | + target_include_directories(HighFiveOpenCVDependency SYSTEM INTERFACE ${OpenCV_INCLUDE_DIRS}) |
| 35 | + target_link_libraries(HighFiveOpenCVDependency INTERFACE ${OpenCV_LIBS}) |
| 36 | + target_compile_definitions(HighFiveOpenCVDependency INTERFACE HIGHFIVE_TEST_OPENCV=1) |
| 37 | + endif() |
| 38 | +endif() |
| 39 | + |
| 40 | +if(NOT TARGET HighFiveOptionalDependencies) |
| 41 | + add_library(HighFiveOptionalDependencies INTERFACE) |
| 42 | + target_link_libraries(HighFiveOptionalDependencies INTERFACE |
| 43 | + HighFiveBoostDependency |
| 44 | + HighFiveEigenDependency |
| 45 | + HighFiveXTensorDependency |
| 46 | + HighFiveOpenCVDependency |
| 47 | + ) |
27 | 48 | endif() |
0 commit comments