mirror of
https://github.com/build-cpp/cmkr
synced 2026-06-08 13:22:55 +00:00
27 lines
691 B
CMake
27 lines
691 B
CMake
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
|
|
) |