Allow specifying build version using cmake
parent
65991092f7
commit
d0a4110d34
|
@ -27,23 +27,26 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||||
set(ZIG_VERSION_MAJOR 0)
|
set(ZIG_VERSION_MAJOR 0)
|
||||||
set(ZIG_VERSION_MINOR 6)
|
set(ZIG_VERSION_MINOR 6)
|
||||||
set(ZIG_VERSION_PATCH 0)
|
set(ZIG_VERSION_PATCH 0)
|
||||||
set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}")
|
set(ZIG_VERSION "" CACHE STRING "Override Zig version string. Default is to find out with git.")
|
||||||
|
|
||||||
find_program(GIT_EXE NAMES git)
|
if("${ZIG_VERSION}" STREQUAL "")
|
||||||
if(GIT_EXE)
|
set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}")
|
||||||
execute_process(
|
find_program(GIT_EXE NAMES git)
|
||||||
COMMAND ${GIT_EXE} -C ${CMAKE_SOURCE_DIR} name-rev HEAD --tags --name-only --no-undefined --always
|
if(GIT_EXE)
|
||||||
RESULT_VARIABLE EXIT_STATUS
|
execute_process(
|
||||||
OUTPUT_VARIABLE ZIG_GIT_REV
|
COMMAND ${GIT_EXE} -C ${CMAKE_SOURCE_DIR} name-rev HEAD --tags --name-only --no-undefined --always
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
RESULT_VARIABLE EXIT_STATUS
|
||||||
ERROR_QUIET)
|
OUTPUT_VARIABLE ZIG_GIT_REV
|
||||||
if(EXIT_STATUS EQUAL "0")
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
if(ZIG_GIT_REV MATCHES "\\^0$")
|
ERROR_QUIET)
|
||||||
if(NOT("${ZIG_GIT_REV}" STREQUAL "${ZIG_VERSION}^0"))
|
if(EXIT_STATUS EQUAL "0")
|
||||||
message("WARNING: Tag does not match configured Zig version")
|
if(ZIG_GIT_REV MATCHES "\\^0$")
|
||||||
|
if(NOT("${ZIG_GIT_REV}" STREQUAL "${ZIG_VERSION}^0"))
|
||||||
|
message("WARNING: Tag does not match configured Zig version")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(ZIG_VERSION "${ZIG_VERSION}+${ZIG_GIT_REV}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
set(ZIG_VERSION "${ZIG_VERSION}+${ZIG_GIT_REV}")
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue