]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
build: Fix `WITH_FMT_HEADER_ONLY`
authorAdam Emerson <aemerson@redhat.com>
Thu, 26 Oct 2023 23:11:12 +0000 (19:11 -0400)
committerAdam Emerson <aemerson@redhat.com>
Mon, 30 Oct 2023 16:25:25 +0000 (12:25 -0400)
Previously it was still linking in the submodule's static libraries
and ldd showed it linking to the system fmt's shared libraries.

Signed-off-by: Adam Emerson <aemerson@redhat.com>
src/CMakeLists.txt
src/common/CMakeLists.txt
src/crimson/os/alienstore/CMakeLists.txt
src/crimson/osd/CMakeLists.txt
src/mon/CMakeLists.txt
src/msg/CMakeLists.txt
src/neorados/CMakeLists.txt
src/osd/CMakeLists.txt
src/rgw/CMakeLists.txt
src/test/neorados/CMakeLists.txt
src/tools/CMakeLists.txt

index dca5e6e6d4ab78c7d5bda8ec0e1f1000f4e1cdd0..5b1300bb84a33fc02e12bc47e709d513c6787248 100644 (file)
@@ -330,20 +330,20 @@ option(WITH_SYSTEM_FMT "build against system fmt" OFF)
 if(WITH_SYSTEM_FMT)
   find_package(fmt 8.1.1...<10.0.0 REQUIRED)
 endif()
+if (WITH_FMT_HEADER_ONLY)
+  message(STATUS "Using fmt header-only.")
+  set(FMT_LIB fmt::fmt-header-only)
+else()
+  message(STATUS "Linking to fmt library.")
+  set(FMT_LIB fmt::fmt)
+endif()
 if(fmt_FOUND)
   message(STATUS "Building with system fmt.")
-  if (WITH_FMT_HEADER_ONLY)
-    message(STATUS "Using fmt header-only.")
-    add_library(fmt::fmt ALIAS fmt::fmt-header-only)
-  endif()
 else()
   message(STATUS "Building fmt as submodule")
   set(old_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
   set(BUILD_SHARED_LIBS FALSE)
   add_subdirectory(fmt)
-  if (WITH_FMT_HEADER_ONLY)
-    add_library(fmt::fmt ALIAS fmt-header-only)
-  endif()
   set(BUILD_SHARED_LIBS ${old_BUILD_SHARED_LIBS})
   unset(old_BUILD_SHARED_LIBS)
   include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/src/fmt/include")
@@ -439,7 +439,7 @@ set_source_files_properties(ceph_ver.c
   APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h)
 add_library(common-objs OBJECT ${libcommon_files})
 target_compile_definitions(common-objs PRIVATE
-  $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+  $<TARGET_PROPERTY:${FMT_LIB},INTERFACE_COMPILE_DEFINITIONS>)
 add_dependencies(common-objs legacy-option-headers)
 
 if(WITH_JAEGER)
@@ -482,7 +482,7 @@ set(ceph_common_deps
   Boost::date_time
   Boost::iostreams
   StdFilesystem::filesystem
-  fmt::fmt
+  ${FMT_LIB}
   ${BLKID_LIBRARIES}
   ${Backtrace_LIBRARIES}
   ${BLKIN_LIBRARIES}
index 5f07f7e8483cf6a05274411e78d33d3941db4389..3deecc3f3d6bf042af88c5d50342dcd9d8e03da5 100644 (file)
@@ -192,7 +192,7 @@ target_compile_definitions(common-common-objs PRIVATE
   "CMAKE_INSTALL_LIBDIR=\"${CMAKE_INSTALL_LIBDIR}\""
   "CEPH_INSTALL_FULL_PKGLIBDIR=\"${CEPH_INSTALL_FULL_PKGLIBDIR}\""
   "CEPH_INSTALL_DATADIR=\"${CEPH_INSTALL_DATADIR}\""
-  $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+  $<TARGET_PROPERTY:${FMT_LIB},INTERFACE_COMPILE_DEFINITIONS>)
 add_dependencies(common-common-objs legacy-option-headers)
 
 set(common_mountcephfs_srcs
index c881f4fbccbc73f12817b42ca9d97d706f7178da..20e03d3305ff614855e42948ddcd9aae4d8b1b00 100644 (file)
@@ -76,7 +76,7 @@ endif()
 target_link_libraries(crimson-alienstore
   PRIVATE
     alien::cflags
-    fmt::fmt
+    ${FMT_LIB}
     kv
     heap_profiler
     crimson-alien-common
index f521e0244d7a3e6afd1c0506b577498a8b0fb323..817027c18ffcdfef15ad2b7c03de4744193a06bf 100644 (file)
@@ -61,7 +61,7 @@ target_link_libraries(crimson-osd
   crimson-common
   crimson-os
   crimson
-  fmt::fmt
+  ${FMT_LIB}
   Boost::MPL
   dmclock::dmclock)
 set_target_properties(crimson-osd PROPERTIES
index 784b4c3ee0b34c274930b83117f6b7b4cb9d46bb..3f2b8605344b929cb4c5be4ae68d9c93be314414 100644 (file)
@@ -40,7 +40,7 @@ add_library(mon STATIC
 target_link_libraries(mon
   kv
   heap_profiler
-  fmt::fmt)
+  ${FMT_LIB})
 if(WITH_JAEGER)
   target_link_libraries(mon jaeger_base)
 endif()
index e8cc3fdabdf675e9dd93be5c54045a381d3fa751..ff2d47276f25d9e12986be112c36cb7765795d6c 100644 (file)
@@ -46,7 +46,7 @@ endif()
 
 add_library(common-msg-objs OBJECT ${msg_srcs})
 target_compile_definitions(common-msg-objs PRIVATE
-  $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+  $<TARGET_PROPERTY:${FMT_LIB},INTERFACE_COMPILE_DEFINITIONS>)
 target_include_directories(common-msg-objs PRIVATE ${OPENSSL_INCLUDE_DIR})
 
 if(WITH_DPDK)
index c66043ac9f9413410585779eeaf974f7353eab5b..119554f67d102b69493d3644c0f214086a2851f9 100644 (file)
@@ -1,17 +1,17 @@
 add_library(neorados_objs OBJECT
   RADOSImpl.cc)
 target_compile_definitions(neorados_objs PRIVATE
-  $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+  $<TARGET_PROPERTY:${FMT_LIB},INTERFACE_COMPILE_DEFINITIONS>)
 add_library(neorados_api_obj OBJECT
   RADOS.cc)
 target_compile_definitions(neorados_api_obj PRIVATE
-  $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+  $<TARGET_PROPERTY:${FMT_LIB},INTERFACE_COMPILE_DEFINITIONS>)
 
 add_library(libneorados STATIC
   $<TARGET_OBJECTS:neorados_api_obj>
   $<TARGET_OBJECTS:neorados_objs>)
 target_link_libraries(libneorados PRIVATE
-  osdc ceph-common cls_lock_client fmt::fmt
+  osdc ceph-common cls_lock_client ${FMT_LIB}
   ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS})
 
 # if(ENABLE_SHARED)
index 7d19424b404a64ef8a7e78fe5f7fdd5f0d86c74a..85f65f7f0e1994dbc2dcf4de0d275f99c14d5fd5 100644 (file)
@@ -56,7 +56,7 @@ endif()
 add_library(osd STATIC ${osd_srcs})
 target_link_libraries(osd
   PUBLIC dmclock::dmclock Boost::MPL
-  PRIVATE os heap_profiler cpu_profiler fmt::fmt ${CMAKE_DL_LIBS})
+  PRIVATE os heap_profiler cpu_profiler ${FMT_LIB} ${CMAKE_DL_LIBS})
 if(WITH_LTTNG)
   add_dependencies(osd osd-tp pg-tp)
 endif()
index c90a553abee0e2b35b72076bc98f183db8a1b9c0..9b55081dbaaad965403a7f480c08f0c77be97786 100644 (file)
@@ -284,7 +284,7 @@ target_link_libraries(rgw_common
     ${LUA_LIBRARIES}
     RapidJSON::RapidJSON
     spawn
-    fmt::fmt)
+    ${FMT_LIB})
 target_include_directories(rgw_common
   PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/services"
   PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/driver/rados"
index 31e79a6615c46b66bc1ab2ec2406dd8e9c6a3d01..ba96fb479d2948156e463e36b6d7c000ebd3af8f 100644 (file)
@@ -17,12 +17,12 @@ target_link_libraries(ceph_test_neorados_completions Boost::system pthread
 
 add_executable(ceph_test_neorados_op_speed op_speed.cc)
 target_link_libraries(ceph_test_neorados_op_speed
-  libneorados fmt::fmt ${unittest_libs})
+  libneorados ${FMT_LIB} ${unittest_libs})
 
 add_library(neoradostest-support STATIC common_tests.cc)
 target_link_libraries(neoradostest-support
-  libneorados fmt::fmt)
+  libneorados ${FMT_LIB})
 
 add_executable(ceph_test_neorados_list_pool list_pool.cc)
 target_link_libraries(ceph_test_neorados_list_pool
-  libneorados neoradostest-support global fmt::fmt ${unittest_libs})
+  libneorados neoradostest-support global ${FMT_LIB} ${unittest_libs})
index aeb9d0248ea6ef70ff98b4644e7b1699aec92974..d1133798c5c9d4d500faa7e96ffae0b4abca661a 100644 (file)
@@ -20,7 +20,7 @@ if(NOT WIN32)
   set(neorados_srcs
       neorados.cc)
   add_executable(neorados ${neorados_srcs})
-  target_link_libraries(neorados libneorados spawn fmt::fmt ${CMAKE_DL_LIBS})
+  target_link_libraries(neorados libneorados spawn ${FMT_LIB} ${CMAKE_DL_LIBS})
   #install(TARGETS neorados DESTINATION bin)
 endif()