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. --- 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