]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: introduce Boost::MPL interface library 37224/head
authorKefu Chai <kchai@redhat.com>
Fri, 18 Sep 2020 04:23:13 +0000 (12:23 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 18 Sep 2020 04:26:09 +0000 (12:26 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/CMakeLists.txt
src/crimson/admin/CMakeLists.txt
src/crimson/osd/CMakeLists.txt
src/osd/CMakeLists.txt

index 38d33bac44ac9a1d8253cff5dbc534bc85b1d33d..7a86043e5fbe2674c1e3519a59b16396e300c806 100644 (file)
@@ -305,6 +305,16 @@ else()
   include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/src/fmt/include")
 endif()
 
+# in osd/PeeringState.h, the number of elements in PeeringState::Active::reactions
+# is now 21 which exceeds the default value of BOOST_MPL_LIMIT_VECTOR_SIZE, which
+# is 20. so we need to override it. see
+# https://www.boost.org/doc/libs/1_74_0/libs/mpl/doc/refmanual/limit-list-size.html
+# link with this library, if your code includes osd/PeeringState.h (indirectly)
+add_library(Boost::MPL INTERFACE IMPORTED)
+set_target_properties(Boost::MPL PROPERTIES
+  INTERFACE_COMPILE_DEFINITIONS
+    "BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_LIST_SIZE=30")
+
 if(WITH_SEASTAR)
   find_package(c-ares 1.13.0 QUIET)
   if(NOT c-ares_FOUND)
index e92525e7084a666eac21458c1532dcd4b90d01cf..aa07717351010c52557e5311f5f43b59358e4dbc 100644 (file)
@@ -4,4 +4,5 @@ add_library(crimson-admin STATIC
   pg_commands.cc)
 
 target_link_libraries(crimson-admin
-  crimson::cflags)
+  crimson::cflags
+  Boost::MPL)
index 2d0332848364a3c4c9b20397d106049e73c86f95..898f70c423697adc01244e8fdcd963ad552bd476 100644 (file)
@@ -47,6 +47,7 @@ target_link_libraries(crimson-osd
   crimson-os
   crimson
   fmt::fmt
+  Boost::MPL
   dmclock::dmclock)
 set_target_properties(crimson-osd PROPERTIES
   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
index 691c1d2280cd7c4c1c6fed5cb70af5fef256bcda..7cd45171a73a1bdb82d04749cd9150cf38d6ebc9 100644 (file)
@@ -46,7 +46,7 @@ if(HAS_VTA)
 endif()
 add_library(osd STATIC ${osd_srcs})
 target_link_libraries(osd
-  PUBLIC dmclock::dmclock
+  PUBLIC dmclock::dmclock Boost::MPL
   PRIVATE os heap_profiler cpu_profiler ${CMAKE_DL_LIBS})
 if(WITH_LTTNG)
   add_dependencies(osd osd-tp pg-tp)