summaryrefslogtreecommitdiff
path: root/gnu/packages/logging.scm
diff options
context:
space:
mode:
authorGreg Hogan <code@greghogan.com>2025-04-22 19:04:46 +0000
committerGreg Hogan <code@greghogan.com>2025-05-02 16:28:17 +0000
commitc53da8704b64e835d563b1b1ca64a44f0d1d9746 (patch)
treeb282e94c5f18abe349ab51927b728adb70bd1661 /gnu/packages/logging.scm
parent06c28407b1ca10cc2f9c7c4d06a97a8cb6da6953 (diff)
gnu: spdlog: Include benchmarks.
* gnu/packages/logging.scm (spdlog)[outputs]: Add "bin". [arguments]<#:configure-flags>: Enable benchmark builds. <#:phases>: Add 'patch phase to insert install commands. [inputs]: Add googlebenchmark. Change-Id: Ia0494c1efffb13bcb5dcd470372cf5427f003857
Diffstat (limited to 'gnu/packages/logging.scm')
-rw-r--r--gnu/packages/logging.scm21
1 files changed, 17 insertions, 4 deletions
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 7425cd2740..8c5e517f21 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -250,16 +250,29 @@ output in multiple windows in a terminal.")
(sha256
(base32 "0n6i8d5aycvp9n2zz2rz67s1y19cw9m5j3pk4719d3a5czh4267m"))))
(build-system cmake-build-system)
- ;; TODO run benchmark. Currently not possible, as adding
- ;; (gnu packages benchmark) forms a dependency cycle
+ (outputs '("out" "bin"))
(arguments
(list #:configure-flags
- #~(list "-DSPDLOG_BUILD_BENCH=OFF"
+ #~(list "-DSPDLOG_BUILD_BENCH=ON"
"-DSPDLOG_BUILD_SHARED=ON"
#$@(if (%current-target-system)
'()
- '("-DSPDLOG_BUILD_TESTS=ON")))))
+ '("-DSPDLOG_BUILD_TESTS=ON")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "bench/CMakeLists.txt"
+ ;; Add install command for each benchmark program.
+ (("add_executable\\(([^ ]+) .*$" all target)
+ (string-append all
+ "install(TARGETS "
+ target
+ " DESTINATION "
+ #$output:bin "/bin"
+ ")\n"))))))))
(native-inputs (list catch2-3))
+ (inputs (list googlebenchmark))
(home-page "https://github.com/gabime/spdlog")
(synopsis "Fast C++ logging library")
(description "Spdlog is a very fast header-only/compiled C++ logging