From: =?utf-8?q?Timo_R=C3=B6hling?= <timo@gaussglocke.de>
Date: Sat, 5 Dec 2020 00:57:50 +0100
Subject: Store version number in config_impl.hpp

---
 src/CMakeLists.txt | 5 +----
 src/config.hpp.in  | 9 +++++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 08e1744..a746aaa 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -86,10 +86,7 @@ target_include_directories(foonathan_memory PUBLIC $<BUILD_INTERFACE:${FOONATHAN
                                                    $<INSTALL_INTERFACE:${FOONATHAN_MEMORY_ARCH_INC_INSTALL_DIR}> # for arch-specific generated headers
                                             PRIVATE ${header_path}) # for source files
 target_compile_definitions(foonathan_memory PUBLIC
-                            FOONATHAN_MEMORY=1
-                            FOONATHAN_MEMORY_VERSION_MAJOR=$CACHE{FOONATHAN_MEMORY_VERSION_MAJOR}
-                            FOONATHAN_MEMORY_VERSION_MINOR=$CACHE{FOONATHAN_MEMORY_VERSION_MINOR}
-                            FOONATHAN_MEMORY_VERSION_PATCH=$CACHE{FOONATHAN_MEMORY_VERSION_PATCH})
+                            FOONATHAN_MEMORY=1)
 if(NOT MSVC)
 target_compile_features(foonathan_memory PUBLIC cxx_constexpr)
 endif()
diff --git a/src/config.hpp.in b/src/config.hpp.in
index 34cffcb..20055db 100644
--- a/src/config.hpp.in
+++ b/src/config.hpp.in
@@ -9,6 +9,15 @@
 
 //=== options ===//
 // clang-format off
+#ifndef FOONATHAN_MEMORY_VERSION_MAJOR
+#define FOONATHAN_MEMORY_VERSION_MAJOR ${FOONATHAN_MEMORY_VERSION_MAJOR}
+#endif
+#ifndef FOONATHAN_MEMORY_VERSION_MINOR
+#define FOONATHAN_MEMORY_VERSION_MINOR ${FOONATHAN_MEMORY_VERSION_MINOR}
+#endif
+#ifndef FOONATHAN_MEMORY_VERSION_PATCH
+#define FOONATHAN_MEMORY_VERSION_PATCH ${FOONATHAN_MEMORY_VERSION_PATCH}
+#endif
 #cmakedefine01 FOONATHAN_MEMORY_CHECK_ALLOCATION_SIZE
 #define FOONATHAN_MEMORY_IMPL_DEFAULT_ALLOCATOR ${FOONATHAN_MEMORY_DEFAULT_ALLOCATOR}
 #cmakedefine01 FOONATHAN_MEMORY_DEBUG_ASSERT
