1Backported from <https://github.com/ceph/ceph/commit/857eedbe6c9ed80ed0625bd0aa27b1a1e85f8d59>.
2
3Original author: Adam Emerson <aemerson@redhat.com>
4
5diff --git a/CMakeLists.txt b/CMakeLists.txt
6index bbd63a6a006..bbd7c737feb 100644
7--- a/CMakeLists.txt
8+++ b/CMakeLists.txt
9@@ -666,7 +666,7 @@ option(WITH_SYSTEM_BOOST "require and build with system Boost" OFF)
10 # Boost::thread depends on Boost::atomic, so list it explicitly.
11 set(BOOST_COMPONENTS
12 atomic chrono thread system regex random program_options date_time
13- iostreams context coroutine)
14+ iostreams context coroutine url)
15 set(BOOST_HEADER_COMPONENTS container)
16
17 if(WITH_MGR)
18diff --git a/src/mds/BoostUrlImpl.cc b/src/mds/BoostUrlImpl.cc
19deleted file mode 100644
20index 479f4c6d75d..00000000000
21--- a/src/mds/BoostUrlImpl.cc
22+++ /dev/null
23@@ -1,8 +0,0 @@
24-/*
25- * https://www.boost.org/doc/libs/1_82_0/libs/url/doc/html/url/overview.html#url.overview.requirements
26- *
27- * To use the library as header-only; that is, to eliminate the requirement
28- * to link a program to a static or dynamic Boost.URL library,
29- * simply place the following line in exactly one source file in your project.
30- */
31-#include <boost/url/src.hpp>
32diff --git a/src/mds/CMakeLists.txt b/src/mds/CMakeLists.txt
33index 0c6c31a3c51..5c98db76e4d 100644
34--- a/src/mds/CMakeLists.txt
35+++ b/src/mds/CMakeLists.txt
36@@ -45,12 +45,12 @@ set(mds_srcs
37 QuiesceDbManager.cc
38 QuiesceAgent.cc
39 MDSRankQuiesce.cc
40- BoostUrlImpl.cc
41 ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc
42 ${CMAKE_SOURCE_DIR}/src/common/MemoryModel.cc
43 ${CMAKE_SOURCE_DIR}/src/osdc/Journaler.cc
44 ${CMAKE_SOURCE_DIR}/src/mgr/MDSPerfMetricTypes.cc)
45 add_library(mds STATIC ${mds_srcs})
46 target_link_libraries(mds PRIVATE
47+ Boost::url
48 heap_profiler cpu_profiler osdc ${LUA_LIBRARIES})
49 target_include_directories(mds PRIVATE "${LUA_INCLUDE_DIR}")
50diff --git a/src/test/mds/CMakeLists.txt b/src/test/mds/CMakeLists.txt
51index f80abe75083..18ebb648e68 100644
52--- a/src/test/mds/CMakeLists.txt
53+++ b/src/test/mds/CMakeLists.txt
54@@ -18,11 +18,10 @@ target_link_libraries(unittest_mds_sessionfilter mds osdc ceph-common global ${B
55 add_executable(unittest_mds_quiesce_db
56 TestQuiesceDb.cc
57 ../../../src/mds/QuiesceDbManager.cc
58- ../../../src/mds/BoostUrlImpl.cc
59 $<TARGET_OBJECTS:unit-main>
60 )
61 add_ceph_unittest(unittest_mds_quiesce_db)
62-target_link_libraries(unittest_mds_quiesce_db ceph-common global)
63+target_link_libraries(unittest_mds_quiesce_db ceph-common global Boost::url)
64
65 # unittest_mds_quiesce_agent
66 add_executable(unittest_mds_quiesce_agent
67--
682.47.0
69