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.

--- 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
-)
+# Set the git version
+if (NOT "${TINI_VERSION_GIT}" STREQUAL "")
+	# Set by the user directly
+	set(tini_VERSION_GIT "${TINI_VERSION_GIT}")
+else()
+	# 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
+	)
 
-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)
+		# 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("${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()
-else()
-  set(tini_VERSION_GIT "")
+		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
