commit 31b0908a5eff3926195670beecc8548c429ceff5 Author: Gerard Ryan 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