You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

70 lines
2.3 KiB

commit 31b0908a5eff3926195670beecc8548c429ceff5
Author: Gerard Ryan <G.M0N3Y.2503@gmail.com>
Date: Sat Oct 31 16:53:39 2020 +1000
Added support for setting git version externally
* This to help when building from source snapshots
that don't have the .git file structure.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 332b361..3f6f44b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,27 +13,37 @@ if(MINIMAL)
add_definitions(-DTINI_MINIMAL=1)
endif()
-# Extract git version and dirty-ness
-execute_process (
- COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- RESULT_VARIABLE git_version_check_ret
- OUTPUT_VARIABLE tini_VERSION_GIT
-)
-
-execute_process(
- COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- OUTPUT_VARIABLE git_dirty_check_out
-)
-
-if("${git_version_check_ret}" EQUAL 0)
- set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
- if(NOT "${git_dirty_check_out}" STREQUAL "")
- set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
- endif()
+# Set the git version
+if (NOT "${TINI_VERSION_GIT}" STREQUAL "")
+ # Set by the user directly
+ set(tini_VERSION_GIT "${TINI_VERSION_GIT}")
else()
- set(tini_VERSION_GIT "")
+ # Extract git version
+ execute_process (
+ COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ RESULT_VARIABLE git_version_check_ret
+ OUTPUT_VARIABLE tini_VERSION_GIT
+ )
+
+ if("${git_version_check_ret}" EQUAL 0)
+ # Extract git dirty-ness
+ execute_process(
+ COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ OUTPUT_VARIABLE git_dirty_check_out
+ )
+
+ if(NOT "${git_dirty_check_out}" STREQUAL "")
+ set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
+ endif()
+ else()
+ set(tini_VERSION_GIT "")
+ endif()
+endif()
+
+if(NOT ${tini_VERSION_GIT} STREQUAL "")
+ set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
endif()
# Flags