Skip to content

Commit f9bd71d

Browse files
committed
fix(build): strip semver pre-release suffix for cmake project()
1 parent 3ef7355 commit f9bd71d

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

CMakeLists.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
cmake_minimum_required(VERSION 3.20)
22
file(READ "${CMAKE_SOURCE_DIR}/VERSION" GRAFT_VERSION_RAW)
3-
string(STRIP "${GRAFT_VERSION_RAW}" GRAFT_VERSION)
4-
project(graft VERSION ${GRAFT_VERSION} LANGUAGES C)
3+
string(STRIP "${GRAFT_VERSION_RAW}" GRAFT_VERSION_FULL)
4+
# project(VERSION ...) only accepts X.Y.Z[.W], strip SemVer pre-release suffix.
5+
string(REGEX REPLACE "[-+].*$" "" GRAFT_VERSION_NUMERIC "${GRAFT_VERSION_FULL}")
6+
project(graft VERSION ${GRAFT_VERSION_NUMERIC} LANGUAGES C)
57
set(CMAKE_C_STANDARD 11)
68
set(CMAKE_C_STANDARD_REQUIRED ON)
79
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -136,7 +138,7 @@ add_executable(graft
136138
src/cli/view.c
137139
)
138140
target_compile_definitions(graft PRIVATE
139-
GRAFT_VERSION="${PROJECT_VERSION}"
141+
GRAFT_VERSION="${GRAFT_VERSION_FULL}"
140142
GRAFT_REPOSITORY="AEndrix03/Graft"
141143
)
142144
target_link_libraries(graft graft_core)

0 commit comments

Comments
 (0)