build: Fix generating build info using unified source archive. (#6628)
This commit is contained in:
parent
d8db0af1b2
commit
89663e0db8
2 changed files with 25 additions and 9 deletions
|
@ -120,7 +120,10 @@ function(check_submodules_present)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
if (EXISTS "${PROJECT_SOURCE_DIR}/.git/objects")
|
||||||
|
# only check submodules when source is obtained via Git
|
||||||
check_submodules_present()
|
check_submodules_present()
|
||||||
|
endif()
|
||||||
|
|
||||||
configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc
|
configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc
|
||||||
${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc
|
${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc
|
||||||
|
|
|
@ -3,19 +3,32 @@ function(get_timestamp _var)
|
||||||
string(TIMESTAMP timestamp UTC)
|
string(TIMESTAMP timestamp UTC)
|
||||||
set(${_var} "${timestamp}" PARENT_SCOPE)
|
set(${_var} "${timestamp}" PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
get_timestamp(BUILD_DATE)
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${SRC_DIR}/externals/cmake-modules")
|
list(APPEND CMAKE_MODULE_PATH "${SRC_DIR}/externals/cmake-modules")
|
||||||
|
|
||||||
|
if (EXISTS "${SRC_DIR}/.git/objects")
|
||||||
# Find the package here with the known path so that the GetGit commands can find it as well
|
# Find the package here with the known path so that the GetGit commands can find it as well
|
||||||
find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
|
find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
|
||||||
|
|
||||||
# generate git/build information
|
# only use Git to check revision info when source is obtained via Git
|
||||||
include(GetGitRevisionDescription)
|
include(GetGitRevisionDescription)
|
||||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||||
string(SUBSTRING "${GIT_REV}" 0 7 GIT_SHORT_REV)
|
|
||||||
git_describe(GIT_DESC --always --long --dirty)
|
git_describe(GIT_DESC --always --long --dirty)
|
||||||
git_branch_name(GIT_BRANCH)
|
git_branch_name(GIT_BRANCH)
|
||||||
get_timestamp(BUILD_DATE)
|
elseif (EXISTS "${SRC_DIR}/GIT-COMMIT" AND EXISTS "${SRC_DIR}/GIT-TAG")
|
||||||
|
# unified source archive
|
||||||
|
file(READ "${SRC_DIR}/GIT-COMMIT" GIT_REV_RAW LIMIT 64)
|
||||||
|
string(STRIP "${GIT_REV_RAW}" GIT_REV)
|
||||||
|
string(SUBSTRING "${GIT_REV_RAW}" 0 9 GIT_DESC)
|
||||||
|
set(GIT_BRANCH "HEAD")
|
||||||
|
else()
|
||||||
|
# self-packed archive?
|
||||||
|
set(GIT_REV "UNKNOWN")
|
||||||
|
set(GIT_DESC "UNKNOWN")
|
||||||
|
set(GIT_BRANCH "UNKNOWN")
|
||||||
|
endif()
|
||||||
|
string(SUBSTRING "${GIT_REV}" 0 7 GIT_SHORT_REV)
|
||||||
|
|
||||||
# Generate cpp with Git revision from template
|
# Generate cpp with Git revision from template
|
||||||
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
|
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
|
||||||
|
|
Loading…
Reference in a new issue