From 69cac816aa84ce6d208d2f778d067fb41759e51c Mon Sep 17 00:00:00 2001 From: Adam Calhoon Date: Sun, 6 Mar 2022 10:52:09 -0500 Subject: [PATCH] When built with SPDLOG_FMT_EXTERNAL_HO consumers of the spdlog targets depend on fmt The cmake/spdlogConfig.cmake.in file properly takes into account the fmt package dependency when building with SPDLOG_FMT_EXTERNAL:BOOL=ON but not when built with SPDLOG_FMT_EXTERNAL_HO:BOOL=ON. Prior to these changes SPDLOG_FMT_EXTERNAL_HO:BOOL=ON results in exported targets with INTERFACE_LINK_LIBRARIES that contain fmt::fmt-header-only. As such, the installed spdlogConfig.cmake file should attempt to find that dependency for the consumer. --- cmake/spdlogConfig.cmake.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/spdlogConfig.cmake.in b/cmake/spdlogConfig.cmake.in index 89aaab5a..1b85b9e0 100644 --- a/cmake/spdlogConfig.cmake.in +++ b/cmake/spdlogConfig.cmake.in @@ -6,9 +6,10 @@ find_package(Threads REQUIRED) set(SPDLOG_FMT_EXTERNAL @SPDLOG_FMT_EXTERNAL@) +set(SPDLOG_FMT_EXTERNAL_HO @SPDLOG_FMT_EXTERNAL_HO@) set(config_targets_file @config_targets_file@) -if(SPDLOG_FMT_EXTERNAL) +if(SPDLOG_FMT_EXTERNAL OR SPDLOG_FMT_EXTERNAL_HO) include(CMakeFindDependencyMacro) find_dependency(fmt CONFIG) endif() @@ -16,4 +17,4 @@ endif() include("${CMAKE_CURRENT_LIST_DIR}/${config_targets_file}") -check_required_components(spdlog) \ No newline at end of file +check_required_components(spdlog)