From 0dbf5c73754121f2e319a6c7be7ca4e2ee27822d Mon Sep 17 00:00:00 2001 From: Arnaud Date: Wed, 4 Feb 2026 15:20:11 +0100 Subject: [PATCH 1/2] fix version header for project name not valid as a C identifier --- CMakeLists.txt | 3 +++ cmake/version.hpp.in | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0580d4e..247868d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,9 @@ else() set(PROJECT_NAME_UPPERCASE ${PROJECT_NAME}) endif() +# Transform PROJECT_NAME into valid C/C++ identifier +string(REGEX REPLACE "[^A-Za-z0-9_]" "_" PROJECT_NAME_C "${PROJECT_NAME_UPPERCASE}") + # # Prevent building in the source directory # diff --git a/cmake/version.hpp.in b/cmake/version.hpp.in index 985bad6..51a18f7 100644 --- a/cmake/version.hpp.in +++ b/cmake/version.hpp.in @@ -1,11 +1,11 @@ -#ifndef @PROJECT_NAME_UPPERCASE@_VERSION_H_ -#define @PROJECT_NAME_UPPERCASE@_VERSION_H_ +#ifndef @PROJECT_NAME_C@_VERSION_H_ +#define @PROJECT_NAME_C@_VERSION_H_ -#define @PROJECT_NAME_UPPERCASE@_VERSION "@PROJECT_VERSION@" +#define @PROJECT_NAME_C@_VERSION "@PROJECT_VERSION@" -#define @PROJECT_NAME_UPPERCASE@_MAJOR_VERSION @PROJECT_VERSION_MAJOR@ -#define @PROJECT_NAME_UPPERCASE@_MINOR_VERSION @PROJECT_VERSION_MINOR@ -#define @PROJECT_NAME_UPPERCASE@_PATCH_VERSION @PROJECT_VERSION_PATCH@ +#define @PROJECT_NAME_C@_MAJOR_VERSION @PROJECT_VERSION_MAJOR@ +#define @PROJECT_NAME_C@_MINOR_VERSION @PROJECT_VERSION_MINOR@ +#define @PROJECT_NAME_C@_PATCH_VERSION @PROJECT_VERSION_PATCH@ -#endif // @PROJECT_NAME_UPPERCASE@_VERSION_H_ +#endif // @PROJECT_NAME_C@_VERSION_H_ From 2de90dcab483a0aa2013587e6d39be7b3cecd538 Mon Sep 17 00:00:00 2001 From: Arnaud Date: Wed, 4 Feb 2026 15:32:32 +0100 Subject: [PATCH 2/2] update include directory for the library and the executable --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 247868d..f7728f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -213,6 +213,7 @@ else() $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR}/include ) if(${PROJECT_NAME}_BUILD_EXECUTABLE AND ${PROJECT_NAME}_ENABLE_UNIT_TESTING) target_include_directories( @@ -222,6 +223,7 @@ else() $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR}/include ) endif() endif()