Skip to content

Commit 04bf40a

Browse files
committed
Generate resources/version.hpp with the project version
1 parent 4d14395 commit 04bf40a

File tree

5 files changed

+13
-3
lines changed

5 files changed

+13
-3
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmake.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ sources = [
2525
"src/*.cpp",
2626
"include/*.hpp",
2727
"cmake/cmkr.cmake",
28+
"cmake/version.hpp.in",
2829
]
2930
include-directories = [
3031
"include",

cmake/generate_resources.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,19 @@ function(generate_resources target)
55
PROPERTY SOURCES
66
)
77
foreach(SOURCE ${TARGET_SOURCES})
8+
get_filename_component(RESOURCE_NAME "${SOURCE}" NAME_WE)
9+
set(RESOURCE_HEADER "include/resources/${RESOURCE_NAME}.hpp")
10+
811
if(SOURCE MATCHES ".cmake$")
9-
get_filename_component(RESOURCE_NAME "${SOURCE}" NAME_WE)
10-
set(RESOURCE_HEADER "include/resources/${RESOURCE_NAME}.hpp")
1112
# Add configure-time dependency on the source file
1213
configure_file("${SOURCE}" "${RESOURCE_HEADER}" COPYONLY)
1314
# Generate the actual resource into the header
1415
file(READ "${SOURCE}" RESOURCE_CONTENTS)
1516
configure_file("${PROJECT_SOURCE_DIR}/cmake/resource.hpp.in" "${RESOURCE_HEADER}" @ONLY)
1617
message(STATUS "[cmkr] Generated ${RESOURCE_HEADER}")
18+
elseif(SOURCE MATCHES ".in$")
19+
configure_file("${SOURCE}" "${RESOURCE_HEADER}" @ONLY)
20+
message(STATUS "[cmkr] Generated ${RESOURCE_HEADER}")
1721
endif()
1822
endforeach()
1923
target_include_directories(${target} PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/include")

cmake/version.hpp.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#pragma once
2+
3+
#define CMKR_VERSION "@PROJECT_VERSION@"

src/help.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#include "help.hpp"
2+
#include <resources/version.hpp>
23

34
namespace cmkr {
45
namespace help {
56

6-
const char *version() noexcept { return "cmkr version 0.1.3"; }
7+
const char *version() noexcept { return "cmkr version " CMKR_VERSION; }
78

89
const char *message() noexcept {
910
return R"lit(

0 commit comments

Comments
 (0)