mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-08-09 20:24:14 +00:00
[all] be smarter about getting the git version
This commit is contained in:
34
version.cmake
Normal file
34
version.cmake
Normal file
@@ -0,0 +1,34 @@
|
||||
execute_process(COMMAND git describe --always --long --abbrev=10 --tags
|
||||
OUTPUT_VARIABLE GIT_REV
|
||||
ERROR_QUIET)
|
||||
|
||||
if (NOT "${GIT_REV}" STREQUAL "")
|
||||
execute_process(
|
||||
COMMAND bash -c "git diff --quiet --exit-code || echo +"
|
||||
OUTPUT_VARIABLE GIT_DIFF)
|
||||
execute_process(
|
||||
COMMAND git describe --exact-match --tags
|
||||
OUTPUT_VARIABLE GIT_TAG ERROR_QUIET)
|
||||
execute_process(
|
||||
COMMAND git rev-parse --abbrev-ref HEAD
|
||||
OUTPUT_VARIABLE GIT_BRANCH)
|
||||
|
||||
string(STRIP "${GIT_REV}" GIT_REV)
|
||||
endif()
|
||||
|
||||
set(GIT_VERSION "const char * BUILD_VERSION = \"${GIT_REV}\";")
|
||||
|
||||
if(EXISTS ${CMAKE_BINARY_DIR}/version.c)
|
||||
file(READ ${CMAKE_BINARY_DIR}/version.c GIT_VERSION_)
|
||||
else()
|
||||
if (EXISTS ${PROJECT_TOP}/VERSION)
|
||||
file(READ ${PROJECT_TOP}/VERSION GIT_VERSION_)
|
||||
else()
|
||||
set(GIT_VERSION_ "UNKNOWN")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT "${GIT_VERSION}" STREQUAL "${GIT_VERSION_}")
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/version.c "${GIT_VERSION}")
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/VERSION "${GIT_REV}")
|
||||
endif()
|
Reference in New Issue
Block a user