You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
691 B
27 lines
691 B
3 years ago
|
cmake_minimum_required(VERSION 3.20)
|
||
|
|
||
|
find_package(Git REQUIRED)
|
||
|
|
||
|
execute_process(COMMAND
|
||
|
"${GIT_EXECUTABLE}" name-rev --tags --name-only HEAD
|
||
|
OUTPUT_VARIABLE GIT_TAG
|
||
|
)
|
||
|
|
||
|
string(FIND "${GIT_TAG}" "\n" NEWLINE_POS)
|
||
|
string(SUBSTRING "${GIT_TAG}" 0 ${NEWLINE_POS} GIT_TAG)
|
||
|
string(STRIP "${GIT_TAG}" GIT_TAG)
|
||
|
|
||
|
if("${GIT_TAG}" STREQUAL "")
|
||
|
message(FATAL_ERROR "Failed to retrieve git tag!")
|
||
|
endif()
|
||
|
|
||
|
message(STATUS "CMKR_TAG: '${GIT_TAG}'")
|
||
|
|
||
|
file(READ "cmake/cmkr.cmake" CMKR_CMAKE)
|
||
|
string(REGEX REPLACE "CMKR_TAG \"[^\"]+\"" "CMKR_TAG \"${GIT_TAG}\"" CMKR_CMAKE "${CMKR_CMAKE}")
|
||
|
file(CONFIGURE
|
||
|
OUTPUT "cmake/cmkr.cmake"
|
||
|
CONTENT "${CMKR_CMAKE}"
|
||
|
@ONLY
|
||
|
NEWLINE_STYLE LF
|
||
|
)
|