Write the software version, including the git hash, in config.h using cmake

This commit is contained in:
Florent Le Coz
2014-06-20 10:45:38 +02:00
parent 2117838cf9
commit aaf7177413
2 changed files with 25 additions and 3 deletions
+23 -2
View File
@@ -2,8 +2,9 @@ cmake_minimum_required(VERSION 2.6)
project(biboumi) project(biboumi)
set(${PROJECT_NAME}_VERSION_MAJOR 0) set(${PROJECT_NAME}_VERSION_MAJOR 1)
set(${PROJECT_NAME}_VERSION_MINOR 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") 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(SystemdDaemon)
find_package(Botan) 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 # To be able to include the config.h file generated by cmake
include_directories("${CMAKE_CURRENT_BINARY_DIR}/src/") include_directories("${CMAKE_CURRENT_BINARY_DIR}/src/")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/src/") include_directories("${CMAKE_CURRENT_SOURCE_DIR}/src/")
+1
View File
@@ -3,3 +3,4 @@
#cmakedefine SYSTEMDDAEMON_FOUND #cmakedefine SYSTEMDDAEMON_FOUND
#cmakedefine POLLER ${POLLER} #cmakedefine POLLER ${POLLER}
#cmakedefine BOTAN_FOUND #cmakedefine BOTAN_FOUND
#cmakedefine BIBOUMI_VERSION "${BIBOUMI_VERSION}"