Commit d96d8639e5

Andrew Kelley <andrew@ziglang.org>
2021-01-01 00:41:42
Revert "Comply with semantic versioning pre-release format"
This reverts commit bbe2cca1ae32af322abcf4cc4a6d6bee671bf5b8.
1 parent e8810f5
Changed files (1)
CMakeLists.txt
@@ -25,8 +25,8 @@ project(zig C CXX)
 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
 
 set(ZIG_VERSION_MAJOR 0)
-set(ZIG_VERSION_MINOR 8)
-set(ZIG_VERSION_PATCH 0)
+set(ZIG_VERSION_MINOR 7)
+set(ZIG_VERSION_PATCH 1)
 set(ZIG_VERSION "" CACHE STRING "Override Zig version string. Default is to find out with git.")
 
 if("${ZIG_VERSION}" STREQUAL "")
@@ -34,31 +34,18 @@ if("${ZIG_VERSION}" STREQUAL "")
     find_program(GIT_EXE NAMES git)
     if(GIT_EXE)
         execute_process(
-            COMMAND ${GIT_EXE} -C ${CMAKE_SOURCE_DIR} describe --match *.*.* --tags
+            COMMAND ${GIT_EXE} -C ${CMAKE_SOURCE_DIR} name-rev HEAD --tags --name-only --no-undefined --always
             RESULT_VARIABLE EXIT_STATUS
-            OUTPUT_VARIABLE GIT_DESCRIBE
+            OUTPUT_VARIABLE ZIG_GIT_REV
             OUTPUT_STRIP_TRAILING_WHITESPACE
             ERROR_QUIET)
         if(EXIT_STATUS EQUAL "0")
-            if(GIT_DESCRIBE MATCHES "^v?([0-9]+\\.[0-9]+\\.[0-9]+)$")
-                # Tagged release version.
-                set(GIT_TAG ${CMAKE_MATCH_1})
-                if(NOT GIT_TAG VERSION_EQUAL ZIG_VERSION)
-                    message(SEND_ERROR "Configured Zig version (${ZIG_VERSION}) does not match Git tag (${GIT_TAG}).")
+            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()
-            elseif(GIT_DESCRIBE MATCHES "^v?([0-9]+\\.[0-9]+\\.[0-9]+)-([0-9]+)-(.+)$")
-                # Untagged pre-release. The Zig version is updated to include the number of commits
-                # since the last tagged version and the commit hash. The version is formatted in
-                # accordance with the https://semver.org specification.
-                set(GIT_TAG ${CMAKE_MATCH_1})
-                set(GIT_COMMITS_AFTER_TAG ${CMAKE_MATCH_2})
-                set(GIT_COMMIT ${CMAKE_MATCH_3})
-                if(NOT ZIG_VERSION VERSION_GREATER GIT_TAG)
-                    message(SEND_ERROR "Configured Zig version (${ZIG_VERSION}) must be greater than tagged ancestor (${GIT_TAG}).")
-                endif()
-                set(ZIG_VERSION "${ZIG_VERSION}-dev.${GIT_COMMITS_AFTER_TAG}+${GIT_COMMIT}")
             else()
-                message(WARNING "Failed to parse version from output of `git describe`.")
+                set(ZIG_VERSION "${ZIG_VERSION}+${ZIG_GIT_REV}")
             endif()
         endif()
     endif()