authorgravatar for sentrycraft123@gmail.comJan200101 <sentrycraft123@gmail.com> 2020-10-04 13:41:05+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-10-04 21:40:48-04:00
logd0a4110d34b8d80a9212a01f21d7be7629de8813
tree72a360923c856a2fa4871a5cf0801e79790e5aec
parent65991092f7d7460390529a012cb7e7893799fc34

Allow specifying build version using cmake


1 files changed, 19 insertions(+), 16 deletions(-)

CMakeLists.txt+19-16
......@@ -27,23 +27,26 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
2727set(ZIG_VERSION_MAJOR 0)
2828set(ZIG_VERSION_MINOR 6)
2929set(ZIG_VERSION_PATCH 0)
30set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}")
31
32find_program(GIT_EXE NAMES git)
33if(GIT_EXE)
34 execute_process(
35 COMMAND ${GIT_EXE} -C ${CMAKE_SOURCE_DIR} name-rev HEAD --tags --name-only --no-undefined --always
36 RESULT_VARIABLE EXIT_STATUS
37 OUTPUT_VARIABLE ZIG_GIT_REV
38 OUTPUT_STRIP_TRAILING_WHITESPACE
39 ERROR_QUIET)
40 if(EXIT_STATUS EQUAL "0")
41 if(ZIG_GIT_REV MATCHES "\\^0$")
42 if(NOT("${ZIG_GIT_REV}" STREQUAL "${ZIG_VERSION}^0"))
43 message("WARNING: Tag does not match configured Zig version")
30set(ZIG_VERSION "" CACHE STRING "Override Zig version string. Default is to find out with git.")
31
32if("${ZIG_VERSION}" STREQUAL "")
33 set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}")
34 find_program(GIT_EXE NAMES git)
35 if(GIT_EXE)
36 execute_process(
37 COMMAND ${GIT_EXE} -C ${CMAKE_SOURCE_DIR} name-rev HEAD --tags --name-only --no-undefined --always
38 RESULT_VARIABLE EXIT_STATUS
39 OUTPUT_VARIABLE ZIG_GIT_REV
40 OUTPUT_STRIP_TRAILING_WHITESPACE
41 ERROR_QUIET)
42 if(EXIT_STATUS EQUAL "0")
43 if(ZIG_GIT_REV MATCHES "\\^0$")
44 if(NOT("${ZIG_GIT_REV}" STREQUAL "${ZIG_VERSION}^0"))
45 message("WARNING: Tag does not match configured Zig version")
46 endif()
47 else()
48 set(ZIG_VERSION "${ZIG_VERSION}+${ZIG_GIT_REV}")
4449 endif()
45 else()
46 set(ZIG_VERSION "${ZIG_VERSION}+${ZIG_GIT_REV}")
4750 endif()
4851 endif()
4952endif()