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