| ... | ... | @@ -46,7 +46,7 @@ set(ZIG_VERSION_PATCH 0) |
| 46 | 46 | set(ZIG_VERSION "" CACHE STRING "Override Zig version string. Default is to find out with git.") |
| 47 | 47 | |
| 48 | 48 | if("${ZIG_VERSION}" STREQUAL "") |
| 49 | | set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}") |
| 49 | set(RESOLVED_ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}") |
| 50 | 50 | find_program(GIT_EXE NAMES git NAMES_PER_DIR) |
| 51 | 51 | if(GIT_EXE) |
| 52 | 52 | execute_process( |
| ... | ... | @@ -56,11 +56,12 @@ if("${ZIG_VERSION}" STREQUAL "") |
| 56 | 56 | OUTPUT_STRIP_TRAILING_WHITESPACE |
| 57 | 57 | ERROR_QUIET) |
| 58 | 58 | if(EXIT_STATUS EQUAL "0") |
| 59 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/.git/HEAD) |
| 59 | 60 | if(GIT_DESCRIBE MATCHES "^v?([0-9]+\\.[0-9]+\\.[0-9]+)$") |
| 60 | 61 | # Tagged release version. |
| 61 | 62 | set(GIT_TAG ${CMAKE_MATCH_1}) |
| 62 | | if(NOT GIT_TAG VERSION_EQUAL ZIG_VERSION) |
| 63 | | message(SEND_ERROR "Zig version (${ZIG_VERSION}) does not match Git tag (${GIT_TAG}).") |
| 63 | if(NOT GIT_TAG VERSION_EQUAL RESOLVED_ZIG_VERSION) |
| 64 | message(SEND_ERROR "Zig version (${RESOLVED_ZIG_VERSION}) does not match Git tag (${GIT_TAG}).") |
| 64 | 65 | endif() |
| 65 | 66 | elseif(GIT_DESCRIBE MATCHES "^v?([0-9]+\\.[0-9]+\\.[0-9]+)-([0-9]+)-g(.+)$") |
| 66 | 67 | # Untagged pre-release. The Zig version is updated to include the number of commits |
| ... | ... | @@ -69,17 +70,19 @@ if("${ZIG_VERSION}" STREQUAL "") |
| 69 | 70 | set(GIT_TAG ${CMAKE_MATCH_1}) |
| 70 | 71 | set(GIT_COMMITS_AFTER_TAG ${CMAKE_MATCH_2}) |
| 71 | 72 | set(GIT_COMMIT ${CMAKE_MATCH_3}) |
| 72 | | if(NOT ZIG_VERSION VERSION_GREATER GIT_TAG) |
| 73 | | message(SEND_ERROR "Zig version (${ZIG_VERSION}) must be greater than tagged ancestor (${GIT_TAG}).") |
| 73 | if(NOT RESOLVED_ZIG_VERSION VERSION_GREATER GIT_TAG) |
| 74 | message(SEND_ERROR "Zig version (${RESOLVED_ZIG_VERSION}) must be greater than tagged ancestor (${GIT_TAG}).") |
| 74 | 75 | endif() |
| 75 | | set(ZIG_VERSION "${ZIG_VERSION}-dev.${GIT_COMMITS_AFTER_TAG}+${GIT_COMMIT}") |
| 76 | set(RESOLVED_ZIG_VERSION "${RESOLVED_ZIG_VERSION}-dev.${GIT_COMMITS_AFTER_TAG}+${GIT_COMMIT}") |
| 76 | 77 | else() |
| 77 | 78 | message(WARNING "Failed to parse version from output of `git describe`.") |
| 78 | 79 | endif() |
| 79 | 80 | endif() |
| 80 | 81 | endif() |
| 82 | else() |
| 83 | set(RESOLVED_ZIG_VERSION "${ZIG_VERSION}") |
| 81 | 84 | endif() |
| 82 | | message(STATUS "Configuring zig version ${ZIG_VERSION}") |
| 85 | message(STATUS "Configuring zig version ${RESOLVED_ZIG_VERSION}") |
| 83 | 86 | |
| 84 | 87 | set(ZIG_NO_LIB off CACHE BOOL |
| 85 | 88 | "Disable copying lib/ files to install prefix during the build phase") |
| ... | ... | @@ -1090,7 +1093,7 @@ set(ZIG_BUILD_ARGS |
| 1090 | 1093 | ${ZIG_SINGLE_THREADED_ARG} |
| 1091 | 1094 | "-Dtarget=${ZIG_TARGET_TRIPLE}" |
| 1092 | 1095 | "-Dcpu=${ZIG_TARGET_MCPU}" |
| 1093 | | "-Dversion-string=${ZIG_VERSION}" |
| 1096 | "-Dversion-string=${RESOLVED_ZIG_VERSION}" |
| 1094 | 1097 | ) |
| 1095 | 1098 | |
| 1096 | 1099 | add_custom_target(stage3 ALL |