Skip to content

Commit 7d00157

Browse files
committed
Update the CMakeLists.txt files for System and Regex, because they are header-only in 1.89 and above and no longer have components
1 parent c6d7e2c commit 7d00157

2 files changed

Lines changed: 14 additions & 27 deletions

File tree

test/regex/CMakeLists.txt

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,32 +18,19 @@ if(USE_STAGED_BOOST)
1818
set(BOOST_HINTS HINTS ../../../../stage)
1919
endif()
2020

21-
if(USE_BOOST_PACKAGE)
21+
# Regex is header-only in b2 starting from 1.89, so there's no `regex` component anymore
2222

23-
find_package(Boost ${BOOST_VERSION} EXACT REQUIRED COMPONENTS regex ${BOOST_HINTS})
23+
find_package(Boost ${BOOST_VERSION} EXACT REQUIRED OPTIONAL_COMPONENTS regex ${BOOST_HINTS})
2424

25-
# Using `include_directories`, `link_directories`, `link_libraries`
26-
# is bad practice, done here for testing purposes. The right, "modern
27-
# CMake", thing to do is `target_link_libraries(main Boost::regex)`.
25+
# Using `include_directories`, `link_directories`, `link_libraries`
26+
# is bad practice, only done here for testing purposes.
2827

29-
include_directories(${Boost_INCLUDE_DIRS})
30-
link_directories(${Boost_LIBRARY_DIRS})
31-
link_libraries(${Boost_LIBRARIES})
32-
33-
else()
34-
35-
find_package(boost_regex ${BOOST_VERSION} EXACT CONFIG REQUIRED ${BOOST_HINTS})
36-
37-
endif()
28+
include_directories(${Boost_INCLUDE_DIRS})
29+
link_directories(${Boost_LIBRARY_DIRS})
30+
link_libraries(${Boost_LIBRARIES})
3831

3932
add_executable(main quick.cpp)
4033

41-
if(NOT USE_BOOST_PACKAGE)
42-
43-
target_link_libraries(main Boost::regex)
44-
45-
endif()
46-
4734
enable_testing()
4835
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure --no-tests=error -C $<CONFIG>)
4936

test/system/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ if(USE_STAGED_BOOST)
1818
set(BOOST_HINTS HINTS ../../../../stage)
1919
endif()
2020

21-
if(USE_BOOST_PACKAGE)
21+
# System is header-only in b2 starting from 1.89, so there's no `system` component anymore
2222

23-
find_package(Boost ${BOOST_VERSION} EXACT REQUIRED COMPONENTS system ${BOOST_HINTS})
23+
find_package(Boost ${BOOST_VERSION} EXACT REQUIRED OPTIONAL_COMPONENTS system ${BOOST_HINTS})
2424

25-
else()
25+
# Using `include_directories`, `link_directories`, `link_libraries`
26+
# is bad practice, only done here for testing purposes.
2627

27-
find_package(boost_system ${BOOST_VERSION} EXACT CONFIG REQUIRED ${BOOST_HINTS})
28-
29-
endif()
28+
include_directories(${Boost_INCLUDE_DIRS})
29+
link_directories(${Boost_LIBRARY_DIRS})
30+
link_libraries(${Boost_LIBRARIES})
3031

3132
add_executable(main quick.cpp)
32-
target_link_libraries(main Boost::system)
3333

3434
enable_testing()
3535
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure --no-tests=error -C $<CONFIG>)

0 commit comments

Comments
 (0)