From 646b8c9b5ccbaeeac9b3cde57ccc5e2490e84b18 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Mon, 23 Feb 2026 13:16:16 -0800 Subject: [PATCH 1/6] Removing accidental text --- library/logger/logger.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/logger/logger.hh b/library/logger/logger.hh index cd68d2d..6966dc3 100644 --- a/library/logger/logger.hh +++ b/library/logger/logger.hh @@ -26,7 +26,7 @@ #include "typename.hh" #ifndef SCARAB_LOGGER_DEFAULT_THRESHOLD -#define SCARAB_LOGGER_DEFAULT_THRESHOLD eInfo +#define SCARAB_LOGGER_DEFAULT_THRESHOLD #endif /** From 4f93dfbe5c40d8ce999f070d2b994c66e2b708dc Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Mon, 23 Feb 2026 15:18:48 -0800 Subject: [PATCH 2/6] Add a workaround for the weird spdlog target namespace issue --- ScarabConfig.cmake.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ScarabConfig.cmake.in b/ScarabConfig.cmake.in index b30f1fc..092d990 100644 --- a/ScarabConfig.cmake.in +++ b/ScarabConfig.cmake.in @@ -31,4 +31,11 @@ if( NOT TARGET Scarab::@Scarab_FULL_TARGET_NAME@ ) endif() endif() +# For some reason the INTERFACE_LINK_LIBRARIES property of the scarab library, which should include spdlog::spdlog, +# ends up including Scarab::spdlog instead. +# As a workaround, we create an alias library target from Scarab::splog to spdlog::spdlog +if( TARGET spdlog::spdlog AND NOT TARGET Scarab::spdlog ) + add_library( Scarab::spdlog ALIAS spdlog::spdlog ) +endif() + check_required_components( Scarab ) From 73cdb5915f987a1fb29a2276d29bb711581feb19 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Mon, 23 Feb 2026 15:29:43 -0800 Subject: [PATCH 3/6] Scarab::spdlog in workaround should be an alias to spdlog (no namespace) --- ScarabConfig.cmake.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ScarabConfig.cmake.in b/ScarabConfig.cmake.in index 092d990..a6ceb44 100644 --- a/ScarabConfig.cmake.in +++ b/ScarabConfig.cmake.in @@ -34,8 +34,8 @@ endif() # For some reason the INTERFACE_LINK_LIBRARIES property of the scarab library, which should include spdlog::spdlog, # ends up including Scarab::spdlog instead. # As a workaround, we create an alias library target from Scarab::splog to spdlog::spdlog -if( TARGET spdlog::spdlog AND NOT TARGET Scarab::spdlog ) - add_library( Scarab::spdlog ALIAS spdlog::spdlog ) +if( TARGET spdlog AND NOT TARGET Scarab::spdlog ) + add_library( Scarab::spdlog ALIAS spdlog ) endif() check_required_components( Scarab ) From 845aadb27caa82622caba2fbbbbe4b1ea03c74bc Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Mon, 23 Feb 2026 16:07:15 -0800 Subject: [PATCH 4/6] Fix (hopefully) spdlog alias creation --- ScarabConfig.cmake.in | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ScarabConfig.cmake.in b/ScarabConfig.cmake.in index a6ceb44..c1473fd 100644 --- a/ScarabConfig.cmake.in +++ b/ScarabConfig.cmake.in @@ -7,7 +7,15 @@ get_filename_component( Scarab_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH ) # Find the dependencies include( CMakeFindDependencyMacro ) find_dependency( Boost 1.46 REQUIRED COMPONENTS @Scarab_BOOST_COMPONENTS@ ) + find_dependency( spdlog REQUIRED HINTS @spdlog_BINARY_DIR@ ) +# For some reason the INTERFACE_LINK_LIBRARIES property of the scarab library, which should include spdlog::spdlog, +# ends up including Scarab::spdlog instead. +# As a workaround, we create an alias library target from Scarab::splog to spdlog::spdlog +if( TARGET spdlog::spdlog AND NOT TARGET Scarab::spdlog ) + add_library( Scarab::spdlog ALIAS spdlog::spdlog ) +endif() + if( @Scarab_BUILD_CODEC_JSON@ ) #Scarab_BUILD_CODEC_JSON find_dependency( RapidJSON REQUIRED ) if(NOT TARGET rapidjson) @@ -31,11 +39,4 @@ if( NOT TARGET Scarab::@Scarab_FULL_TARGET_NAME@ ) endif() endif() -# For some reason the INTERFACE_LINK_LIBRARIES property of the scarab library, which should include spdlog::spdlog, -# ends up including Scarab::spdlog instead. -# As a workaround, we create an alias library target from Scarab::splog to spdlog::spdlog -if( TARGET spdlog AND NOT TARGET Scarab::spdlog ) - add_library( Scarab::spdlog ALIAS spdlog ) -endif() - check_required_components( Scarab ) From bea3e468b8f2807953fbd62754caa15f71d27d12 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Mon, 23 Feb 2026 16:32:13 -0800 Subject: [PATCH 5/6] Need to make this work for when scarab is a submodule and when it's in a previously-built dependency; I think this will do it --- ScarabConfig.cmake.in | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ScarabConfig.cmake.in b/ScarabConfig.cmake.in index c1473fd..f2b7881 100644 --- a/ScarabConfig.cmake.in +++ b/ScarabConfig.cmake.in @@ -12,8 +12,14 @@ find_dependency( spdlog REQUIRED HINTS @spdlog_BINARY_DIR@ ) # For some reason the INTERFACE_LINK_LIBRARIES property of the scarab library, which should include spdlog::spdlog, # ends up including Scarab::spdlog instead. # As a workaround, we create an alias library target from Scarab::splog to spdlog::spdlog -if( TARGET spdlog::spdlog AND NOT TARGET Scarab::spdlog ) - add_library( Scarab::spdlog ALIAS spdlog::spdlog ) +if( NOT TARGET Scarab::spdlog ) + # Check spdlog first to satisfy use when in a submodule (then spdlog::spdlog is itself an alias) + if( TARGET spdlog ) + add_library( Scarab::spdlog ALIAS spdlog ) + # Next check spdlog::spdlog; when used as a previously-installed dependency, spdlog::spdlog is an imported target + elseif( TARGET spdlog::spdlog ) + add_library( Scarab::spdlog ALIAS spdlog::spdlog ) + endif() endif() if( @Scarab_BUILD_CODEC_JSON@ ) #Scarab_BUILD_CODEC_JSON From 58df0eb98bf30649e40fd219d3dd36176586b760 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Thu, 26 Feb 2026 13:55:32 -0800 Subject: [PATCH 6/6] Updated changelog and version --- VERSION | 2 +- changelog.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 081fb66..45087d5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3 14 1 +3 14 2 diff --git a/changelog.md b/changelog.md index 7db8c6e..6daa67d 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,14 @@ Types of changes: Added, Changed, Deprecated, Removed, Fixed, Security ## [Unreleased] + +## [3.14.2] - 2026-02-?? + +### Fixed + +- Fixed handling of dependencies in ScarabConfig.cmake.in + + ## [3.14.1] - 2026-01-23 ### Added