aasdk/cmake_modules/gitversion.cmake
Matthew Hilton 053d69ecf3
added Github actions (#12)
* package using cpack (#18)

Added build to .gitignore
Added vscode tasks to clean, build, package
Added CPack support for debian packages

* Added gitversion,cmake and last commit epoch as patch version

* Switched patch version to use commit hash instead of epoch

* Added CPACK_Version

* added message to output version

* added dockerbuild temp

* workflow fix

* fixed tabs

* fixed depends

* fixed typo

* typo in Dockerfile

* added upload artifact

* added deb_architecture

* added releases

* fixed checkout

* added tags

* fixed release gha

* Added versioning

* switch to use commit_timestamp
2021-09-23 23:20:11 +01:00

52 lines
1.3 KiB
CMake

# cmake/gitversion.cmake
cmake_minimum_required(VERSION 3.0.0)
message(STATUS "Resolving GIT Version")
set(_build_version "unknown")
set(_commit_timestamp "unknown")
find_package(Git)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
WORKING_DIRECTORY "${local_dir}"
OUTPUT_VARIABLE _build_version
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY "${local_dir}"
OUTPUT_VARIABLE _build_branch
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND ${GIT_EXECUTABLE} log -1 --format=%at
WORKING_DIRECTORY "${local_dir}"
OUTPUT_VARIABLE _commit_timestamp
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
message( STATUS "GIT hash: ${_build_version}; branch: ${_build_branch}; Commit epoch: ${_commit_timestamp};")
execute_process(
COMMAND ${GIT_EXECUTABLE} diff --no-ext-diff --quiet
WORKING_DIRECTORY "${local_dir}"
RESULT_VARIABLE ret
)
if(ret EQUAL "1")
set(_build_changes "*")
else()
set(_build_changes "")
endif()
else()
message(STATUS "GIT not found")
endif()
# branch name
# git rev-parse --abbrev-ref HEAD
# changed
# git diff --no-ext-diff --quiet