James Kuszmaul | 8e62b02 | 2022-03-22 09:33:25 -0700 | [diff] [blame^] | 1 | set(VERSION_MAJOR 2) |
| 2 | set(VERSION_MINOR 0) |
| 3 | set(VERSION_PATCH 6) |
Austin Schuh | 272c613 | 2020-11-14 16:37:52 -0800 | [diff] [blame] | 4 | set(VERSION_COMMIT 0) |
| 5 | |
Austin Schuh | e89fa2d | 2019-08-14 20:24:23 -0700 | [diff] [blame] | 6 | find_program(GIT git) |
James Kuszmaul | 8e62b02 | 2022-03-22 09:33:25 -0700 | [diff] [blame^] | 7 | if(GIT AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git") |
Austin Schuh | 272c613 | 2020-11-14 16:37:52 -0800 | [diff] [blame] | 8 | execute_process( |
James Kuszmaul | 8e62b02 | 2022-03-22 09:33:25 -0700 | [diff] [blame^] | 9 | COMMAND ${GIT} describe --tags |
Austin Schuh | 272c613 | 2020-11-14 16:37:52 -0800 | [diff] [blame] | 10 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
| 11 | OUTPUT_VARIABLE GIT_DESCRIBE_DIRTY |
| 12 | OUTPUT_STRIP_TRAILING_WHITESPACE |
| 13 | RESULT_VARIABLE GIT_DESCRIBE_RESULT |
| 14 | ) |
| 15 | |
| 16 | if(GIT_DESCRIBE_RESULT EQUAL 0) |
| 17 | string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_DESCRIBE_DIRTY}") |
| 18 | string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_DESCRIBE_DIRTY}") |
| 19 | string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${GIT_DESCRIBE_DIRTY}") |
| 20 | string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+\\-([0-9]+).*" "\\1" VERSION_COMMIT "${GIT_DESCRIBE_DIRTY}") |
| 21 | else() |
| 22 | message(WARNING "git describe failed with exit code: ${GIT_DESCRIBE_RESULT}") |
| 23 | endif() |
| 24 | else() |
| 25 | message(WARNING "git is not found") |
| 26 | endif() |
| 27 | |
James Kuszmaul | 8e62b02 | 2022-03-22 09:33:25 -0700 | [diff] [blame^] | 28 | message(STATUS "Proceeding with version: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_COMMIT}") |