Write the software version, including the git hash, in config.h using cmake
This commit is contained in:
+23
-2
@@ -2,8 +2,9 @@ cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
project(biboumi)
|
||||
|
||||
set(${PROJECT_NAME}_VERSION_MAJOR 0)
|
||||
set(${PROJECT_NAME}_VERSION_MINOR 1)
|
||||
set(${PROJECT_NAME}_VERSION_MAJOR 1)
|
||||
set(${PROJECT_NAME}_VERSION_MINOR 0)
|
||||
set(${PROJECT_NAME}_VERSION_SUFFIX "~dev")
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pedantic -Wall -Wextra")
|
||||
|
||||
@@ -23,6 +24,26 @@ find_package(Libidn)
|
||||
find_package(SystemdDaemon)
|
||||
find_package(Botan)
|
||||
|
||||
#
|
||||
## Get the software version
|
||||
#
|
||||
if(${PROJECT_NAME}_VERSION_SUFFIX MATCHES "~dev")
|
||||
# If we are on a dev version, append the hash of the current git HEAD to
|
||||
# the version
|
||||
include(FindGit)
|
||||
if(GIT_FOUND)
|
||||
execute_process(COMMAND git --git-dir=${CMAKE_SOURCE_DIR}/.git rev-parse --short HEAD
|
||||
OUTPUT_VARIABLE GIT_REVISION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(GIT_REVISION)
|
||||
set(${PROJECT_NAME}_VERSION_SUFFIX "${${PROJECT_NAME}_VERSION_SUFFIX} (${GIT_REVISION})")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(BIBOUMI_VERSION
|
||||
${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}${${PROJECT_NAME}_VERSION_SUFFIX})
|
||||
|
||||
# To be able to include the config.h file generated by cmake
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}/src/")
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/src/")
|
||||
|
||||
Reference in New Issue
Block a user