|
6 | 6 | # See http://swift.org/LICENSE.txt for license information
|
7 | 7 | # See http://swift.org/CONTRIBUTORS.txt for Swift project authors
|
8 | 8 |
|
| 9 | +# The current version of the Swift Testing release. For release branches, |
| 10 | +# remember to remove -dev. |
| 11 | +set(SWT_TESTING_LIBRARY_VERSION "6.0") |
| 12 | + |
9 | 13 | find_package(Git QUIET)
|
10 | 14 | if(Git_FOUND)
|
| 15 | + # Get the commit hash corresponding to the current build. Limit length to 15 |
| 16 | + # to match `swift --version` output format. |
11 | 17 | execute_process(
|
12 |
| - COMMAND ${GIT_EXECUTABLE} describe --tags --exact-match |
| 18 | + COMMAND ${GIT_EXECUTABLE} rev-parse --short=15 --verify HEAD |
13 | 19 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
14 |
| - OUTPUT_VARIABLE GIT_TAG |
| 20 | + OUTPUT_VARIABLE GIT_VERSION |
15 | 21 | OUTPUT_STRIP_TRAILING_WHITESPACE
|
16 | 22 | ERROR_QUIET)
|
17 |
| - if(GIT_TAG) |
18 |
| - add_compile_definitions( |
19 |
| - "$<$<COMPILE_LANGUAGE:CXX>:_SWT_TESTING_LIBRARY_VERSION=${GIT_TAG}>") |
20 |
| - else() |
21 |
| - execute_process( |
22 |
| - COMMAND ${GIT_EXECUTABLE} rev-parse --verify HEAD |
23 |
| - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
24 |
| - OUTPUT_VARIABLE GIT_REVISION |
25 |
| - OUTPUT_STRIP_TRAILING_WHITESPACE) |
26 |
| - execute_process( |
27 |
| - COMMAND ${GIT_EXECUTABLE} status -s |
28 |
| - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
29 |
| - OUTPUT_VARIABLE GIT_STATUS |
30 |
| - OUTPUT_STRIP_TRAILING_WHITESPACE) |
31 |
| - if(GIT_STATUS) |
32 |
| - add_compile_definitions( |
33 |
| - "$<$<COMPILE_LANGUAGE:CXX>:_SWT_TESTING_LIBRARY_VERSION=${GIT_REVISION} (modified)>") |
34 |
| - else() |
35 |
| - add_compile_definitions( |
36 |
| - "$<$<COMPILE_LANGUAGE:CXX>:_SWT_TESTING_LIBRARY_VERSION=${GIT_REVISION}>") |
37 |
| - endif() |
| 23 | + |
| 24 | + # Check if there are local changes. |
| 25 | + execute_process( |
| 26 | + COMMAND ${GIT_EXECUTABLE} status -s |
| 27 | + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
| 28 | + OUTPUT_VARIABLE GIT_STATUS |
| 29 | + OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 30 | + if(GIT_STATUS) |
| 31 | + set(GIT_VERSION "${GIT_VERSION} - modified") |
38 | 32 | endif()
|
39 | 33 | endif()
|
| 34 | + |
| 35 | +# Combine the hard-coded Swift version with available Git information. |
| 36 | +if(GIT_VERSION) |
| 37 | +set(SWT_TESTING_LIBRARY_VERSION "${SWT_TESTING_LIBRARY_VERSION} (${GIT_VERSION})") |
| 38 | +endif() |
| 39 | + |
| 40 | +# All done! |
| 41 | +message(STATUS "Swift Testing version: ${SWT_TESTING_LIBRARY_VERSION}") |
| 42 | +add_compile_definitions( |
| 43 | + "$<$<COMPILE_LANGUAGE:CXX>:_SWT_TESTING_LIBRARY_VERSION=\"${SWT_TESTING_LIBRARY_VERSION}\">") |
0 commit comments