diff options
Diffstat (limited to 'cmake/Version.cmake')
| -rw-r--r-- | cmake/Version.cmake | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/cmake/Version.cmake b/cmake/Version.cmake new file mode 100644 index 0000000..2f38df2 --- /dev/null +++ b/cmake/Version.cmake @@ -0,0 +1,94 @@ +cmake_minimum_required (VERSION 3.4) + +set (BARRIER_VERSION_MAJOR 2) +set (BARRIER_VERSION_MINOR 0) +set (BARRIER_VERSION_PATCH 0) + +# +# Barrier Version +# +if (NOT DEFINED BARRIER_VERSION_MAJOR) + if (DEFINED ENV{BARRIER_VERSION_MAJOR}) + set (BARRIER_VERSION_MAJOR $ENV{BARRIER_VERSION_MAJOR}) + else() + set (BARRIER_VERSION_MAJOR 1) + endif() +endif() + +if (NOT DEFINED BARRIER_VERSION_MINOR) + if (DEFINED ENV{BARRIER_VERSION_MINOR}) + set (BARRIER_VERSION_MINOR $ENV{BARRIER_VERSION_MINOR}) + else() + set (BARRIER_VERSION_MINOR 9) + endif() +endif() + +if (NOT DEFINED BARRIER_VERSION_PATCH) + if (DEFINED ENV{BARRIER_VERSION_PATCH}) + set (BARRIER_VERSION_PATCH $ENV{BARRIER_VERSION_PATCH}) + else() + set (BARRIER_VERSION_PATCH 0) + message (WARNING "Barrier version wasn't set. Set to ${BARRIER_VERSION_MAJOR}.${BARRIER_VERSION_MINOR}.${BARRIER_VERSION_PATCH}") + endif() +endif() + +if (NOT DEFINED BARRIER_VERSION_STAGE) + if (DEFINED ENV{BARRIER_VERSION_STAGE}) + set (BARRIER_VERSION_STAGE $ENV{BARRIER_VERSION_STAGE}) + else() + set (BARRIER_VERSION_STAGE "snapshot") + endif() +endif() + +if (NOT DEFINED BARRIER_REVISION) + if (DEFINED ENV{GIT_COMMIT}) + string (SUBSTRING $ENV{GIT_COMMIT} 0 8 BARRIER_REVISION) + else() + execute_process ( + COMMAND git rev-parse --short=8 HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE BARRIER_REVISION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + endif() +endif() + +if (DEFINED BARRIER_REVISION) + string(LENGTH ${BARRIER_REVISION} BARRIER_REVISION_LENGTH) + if (NOT ((BARRIER_REVISION MATCHES "^[a-f0-9]+") AND (BARRIER_REVISION_LENGTH EQUAL "8"))) + message (FATAL_ERROR "BARRIER_REVISION ('${BARRIER_REVISION}') should be a short commit hash") + endif() + unset (BARRIER_REVISION_LENGTH) +else() + set (BARRIER_REVISION "0badc0de") +endif() + +if (DEFINED ENV{BUILD_NUMBER}) + set (BARRIER_BUILD_NUMBER $ENV{BUILD_NUMBER}) +else() + set (BARRIER_BUILD_NUMBER 1) +endif() + +string (TIMESTAMP BARRIER_BUILD_DATE "%Y%m%d" UTC) +set (BARRIER_SNAPSHOT_INFO ".${BARRIER_VERSION_STAGE}.${BARRIER_REVISION}") + +if (BARRIER_VERSION_STAGE STREQUAL "snapshot") + set (BARRIER_VERSION_TAG "${BARRIER_VERSION_STAGE}.b${BARRIER_BUILD_NUMBER}-${BARRIER_REVISION}") +else() + set (BARRIER_VERSION_TAG "${BARRIER_VERSION_STAGE}") +endif() + +set (BARRIER_VERSION "${BARRIER_VERSION_MAJOR}.${BARRIER_VERSION_MINOR}.${BARRIER_VERSION_PATCH}-${BARRIER_VERSION_STAGE}") +set (BARRIER_VERSION_STRING "${BARRIER_VERSION}-${BARRIER_VERSION_TAG}") +message (STATUS "Full Barrier version string is '" ${BARRIER_VERSION_STRING} "'") + +add_definitions (-DBARRIER_VERSION="${BARRIER_VERSION}") +add_definitions (-DBARRIER_VERSION_STRING="${BARRIER_VERSION_STRING}") +add_definitions (-DBARRIER_REVISION="${BARRIER_REVISION}") +add_definitions (-DBARRIER_BUILD_DATE="${BARRIER_BUILD_DATE}") +add_definitions (-DBARRIER_BUILD_NUMBER=${BARRIER_BUILD_NUMBER}) + +if (BARRIER_DEVELOPER_MODE) + add_definitions (-DBARRIER_DEVELOPER_MODE=1) +endif() + |
