Newer
Older
Tomáš Pecka
committed
#################
# ALIB Versioning
message("[Versioning] Current version is ${PROJECT_VERSION}")
Tomáš Pecka
committed
include(git)
# git describe into version string
if(ALIB_GIT_DESCRIBE MATCHES ".*unknown*")
set(ALIB_SNAPSHOT_VERSION ${ALIB_GIT_DESCRIBE})
string(REGEX REPLACE "^v" "" ALIB_SNAPSHOT_VERSION ${ALIB_SNAPSHOT_VERSION})
string(REGEX REPLACE "\([^-]*-g\)" "r\\1" ALIB_SNAPSHOT_VERSION ${ALIB_SNAPSHOT_VERSION})
string(REPLACE "-" "." ALIB_SNAPSHOT_VERSION ${ALIB_SNAPSHOT_VERSION})
endif()
# overwrite git info, if -DVERSION provided
if(DEFINED VERSION)
set(ALIB_SNAPSHOT_VERSION ${VERSION})
endif()
if(BUILD_TYPE STREQUAL "Snapshot")
if(DEFINED ALIB_SNAPSHOT_VERSION)
message("[Versioning] Snapshot version: ${ALIB_SNAPSHOT_VERSION}")
else()
message(WARNING "[Versioning] Snapshot version not defined (could not reach GIT and -D was not provided")
set(ALIB_SNAPSHOT_VERSION "${PROJECT_VERSION}.r<unknown>.g<unknown>")
endif()
endif()
if(BUILD_TYPE STREQUAL "Debug")
set(ALIB_VERSION_INFO "${PROJECT_VERSION} | Debug build @ ${ALIB_GIT_BRANCH} ${ALIB_GIT_DESCRIBE}" )
elseif(BUILD_TYPE STREQUAL "Release")
set(ALIB_VERSION_INFO "${PROJECT_VERSION}")
elseif(BUILD_TYPE STREQUAL "Snapshot")
set(ALIB_VERSION_INFO "${ALIB_SNAPSHOT_VERSION}")
endif()
configure_file (
${CONFIGURE_HEADERS_SRC_DIR}/version.hpp.in
${CONFIGURE_HEADERS_DST_DIR}/version.hpp
)
install (
FILES ${CONFIGURE_HEADERS_DST_DIR}/version.hpp
DESTINATION include/algorithms-library/
)