@@ -5,38 +5,53 @@ cmake_minimum_required(VERSION 3.2)
55
66project (linuxdeployqt)
77
8- # read Git revision ID
9- execute_process (
10- COMMAND git rev-parse --short HEAD
11- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
12- OUTPUT_VARIABLE GIT_COMMIT
13- OUTPUT_STRIP_TRAILING_WHITESPACE
14- )
8+ find_program (GIT git)
159
1610# make sure Git revision ID and latest tag is not stored in the CMake cache
1711# otherwise, one would have to reset the CMake cache on every new commit to make sure the Git commit ID is up to date
1812unset (GIT_COMMIT CACHE )
1913unset (GIT_LATEST_TAG CACHE )
2014
15+ if ("${GIT} " STREQUAL "GIT-NOTFOUND" )
16+ message (FATAL_ERROR "Could not find git" )
17+ endif ()
18+
2119# read Git revision ID and latest tag number
2220execute_process (
23- COMMAND git rev-parse --short HEAD
21+ COMMAND " ${GIT} " rev-parse --short HEAD
2422 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
2523 OUTPUT_VARIABLE GIT_COMMIT
2624 OUTPUT_STRIP_TRAILING_WHITESPACE
25+ RESULT_VARIABLE GIT_COMMIT_RESULT
2726)
27+ if (NOT GIT_COMMIT_RESULT EQUAL 0)
28+ message (FATAL_ERROR "Failed to determine git commit ID" )
29+ endif ()
30+ mark_as_advanced (GIT_COMMIT GIT_COMMIT_RESULT)
31+
2832execute_process (
29- COMMAND git rev-list --tags --skip=1 --max-count=1
33+ COMMAND " ${GIT} " rev-list --tags --skip=1 --max-count=1
3034 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
3135 OUTPUT_VARIABLE GIT_TAG_ID
3236 OUTPUT_STRIP_TRAILING_WHITESPACE
37+ RESULT_VARIABLE GIT_TAG_ID_RESULT
3338)
39+ if (NOT GIT_TAG_ID_RESULT EQUAL 0)
40+ message (FATAL_ERROR "Failed to determine git tag ID" )
41+ endif ()
42+ mark_as_advanced (GIT_TAG_ID GIT_TAG_ID_RESULT)
43+
3444execute_process (
35- COMMAND git describe --tags ${GIT_TAG_ID} --abbrev=0
45+ COMMAND " ${GIT} " describe --tags ${GIT_TAG_ID} --abbrev=0
3646 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
3747 OUTPUT_VARIABLE GIT_TAG_NAME
3848 OUTPUT_STRIP_TRAILING_WHITESPACE
49+ RESULT_VARIABLE GIT_TAG_NAME_RESULT
3950)
51+ if (NOT GIT_TAG_NAME_RESULT EQUAL 0)
52+ message (FATAL_ERROR "Failed to determine git tag name" )
53+ endif ()
54+ mark_as_advanced (GIT_TAG_NAME GIT_TAG_NAME_RESULT)
4055
4156# set version and build number
4257set (VERSION 1-alpha)
@@ -51,6 +66,11 @@ execute_process(
5166 COMMAND env LC_ALL=C date -u "+%Y-%m-%d %H:%M:%S %Z"
5267 OUTPUT_VARIABLE DATE
5368 OUTPUT_STRIP_TRAILING_WHITESPACE
69+ RESULT_VARIABLE DATE_RESULT
5470)
71+ if (NOT DATE_RESULT EQUAL 0)
72+ message (FATAL_ERROR "Failed to determine date string" )
73+ endif ()
74+ mark_as_advanced (DATE DATE_RESULT)
5575
5676add_subdirectory (tools/linuxdeployqt)
0 commit comments