From 15635747406162b9c92b84a72314068e374196fe Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 1 Oct 2017 18:34:22 -0400 Subject: [PATCH] add git rev name to version string when available --- CMakeLists.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74540f81d..a10e6504a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,10 +8,26 @@ endif() project(zig C CXX) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) + set(ZIG_VERSION_MAJOR 0) set(ZIG_VERSION_MINOR 0) set(ZIG_VERSION_PATCH 0) set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}") + +find_program(GIT_EXE NAMES git) +if(GIT_EXE) + execute_process( + COMMAND ${GIT_EXE} name-rev HEAD --tags --name-only --no-undefined --always + OUTPUT_VARIABLE ZIG_GIT_REV + OUTPUT_STRIP_TRAILING_WHITESPACE) + 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_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}.${ZIG_GIT_REV}") + endif() +endif() message("Configuring zig version ${ZIG_VERSION}") set(ZIG_LIBC_LIB_DIR "" CACHE STRING "Default native target libc directory where crt1.o can be found")