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")
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)
Boost::date_time
Boost::iostreams
StdFilesystem::filesystem
- fmt::fmt
+ ${FMT_LIB}
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
"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
target_link_libraries(crimson-alienstore
PRIVATE
alien::cflags
- fmt::fmt
+ ${FMT_LIB}
kv
heap_profiler
crimson-alien-common
crimson-common
crimson-os
crimson
- fmt::fmt
+ ${FMT_LIB}
Boost::MPL
dmclock::dmclock)
set_target_properties(crimson-osd PROPERTIES
target_link_libraries(mon
kv
heap_profiler
- fmt::fmt)
+ ${FMT_LIB})
if(WITH_JAEGER)
target_link_libraries(mon jaeger_base)
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)
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)
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()
${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"
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})
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()