@@ -109,9 +109,41 @@ endif()
109109# ==================================================================================
110110
111111file (STRINGS "${CMAKE_SOURCE_DIR } /makespec/VERSION" VERSION )
112- file (STRINGS "${CMAKE_SOURCE_DIR } /makespec/BUILDVERSION" BUILD_VERSION )
113112file (STRINGS "${CMAKE_SOURCE_DIR } /makespec/VERSIONSUFFIX" VERSION_SUFFIX )
114113
114+ # Get git commit hash as build version
115+ find_package (Git QUIET )
116+ if (GIT_FOUND)
117+ execute_process (
118+ COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
119+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
120+ RESULT_VARIABLE GIT_RESULT
121+ OUTPUT_VARIABLE GIT_COMMIT_HASH
122+ ERROR_QUIET
123+ OUTPUT_STRIP_TRAILING_WHITESPACE
124+ )
125+ if (GIT_RESULT EQUAL 0 AND NOT GIT_COMMIT_HASH STREQUAL "" )
126+ set (BUILD_VERSION "${GIT_COMMIT_HASH} " )
127+ else ()
128+ set (BUILD_VERSION "no-git" )
129+ endif ()
130+ else ()
131+ # Fallback if git is not found
132+ execute_process (
133+ COMMAND "git" rev-parse --short HEAD
134+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
135+ RESULT_VARIABLE GIT_RESULT
136+ OUTPUT_VARIABLE GIT_COMMIT_HASH
137+ ERROR_QUIET
138+ OUTPUT_STRIP_TRAILING_WHITESPACE
139+ )
140+ if (GIT_RESULT EQUAL 0 AND NOT GIT_COMMIT_HASH STREQUAL "" )
141+ set (BUILD_VERSION "${GIT_COMMIT_HASH} " )
142+ else ()
143+ set (BUILD_VERSION "no-git" )
144+ endif ()
145+ endif ()
146+
115147set (VERSION_STRING "${VERSION}${VERSION_SUFFIX} " )
116148set (VERSION_LIST ${VERSION} )
117149string (REPLACE "." ";" VERSION_LIST ${VERSION_LIST} )
@@ -124,7 +156,7 @@ list(GET VERSION_LIST 2 CPACK_PACKAGE_VERSION_PATCH)
124156add_definitions (-DLEMON_VERSION_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR} )
125157add_definitions (-DLEMON_VERSION_MINOR=${CMAKE_PROJECT_VERSION_MINOR} )
126158add_definitions (-DLEMON_VERSION_BUGFIX=${CPACK_PACKAGE_VERSION_PATCH} )
127- add_definitions (-DLEMON_VERSION_BUILD=${BUILD_VERSION} )
159+ add_definitions (-DLEMON_VERSION_BUILD= " ${BUILD_VERSION} " )
128160
129161add_definitions (-DLEMON_VERSION_STRING= "${VERSION_STRING} " )
130162
0 commit comments