reactos/sdk/include/reactos/version.cmake
2017-10-27 09:38:34 +03:00

57 lines
2.1 KiB
CMake

string(TIMESTAMP KERNEL_VERSION_BUILD %Y%m%d UTC)
set(KERNEL_VERSION_MAJOR "0")
set(KERNEL_VERSION_MINOR "4")
set(KERNEL_VERSION_PATCH_LEVEL "8")
set(COPYRIGHT_YEAR "2017")
# KERNEL_VERSION_BUILD_TYPE is "dev" for Git builds
# or "RC1", "RC2", "" for releases.
set(KERNEL_VERSION_BUILD_TYPE "dev")
set(KERNEL_VERSION "${KERNEL_VERSION_MAJOR}.${KERNEL_VERSION_MINOR}.${KERNEL_VERSION_PATCH_LEVEL}")
if(NOT KERNEL_VERSION_BUILD_TYPE STREQUAL "")
set(KERNEL_VERSION "${KERNEL_VERSION}-${KERNEL_VERSION_BUILD_TYPE}")
endif()
math(EXPR REACTOS_DLL_VERSION_MAJOR "${KERNEL_VERSION_MAJOR}+42")
set(DLL_VERSION_STR "${REACTOS_DLL_VERSION_MAJOR}.${KERNEL_VERSION_MINOR}.${KERNEL_VERSION_PATCH_LEVEL}")
if(NOT KERNEL_VERSION_BUILD_TYPE STREQUAL "")
set(DLL_VERSION_STR "${DLL_VERSION_STR}-${KERNEL_VERSION_BUILD_TYPE}")
endif()
# Get Git revision through "git describe"
set(COMMIT_HASH "unknown-hash")
set(REVISION "unknown-revision")
if(EXISTS "${REACTOS_SOURCE_DIR}/.git")
find_package(Git)
if(GIT_FOUND)
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD
WORKING_DIRECTORY ${REACTOS_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
RESULT_VARIABLE GIT_CALL_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(GIT_CALL_RESULT EQUAL 0)
set(COMMIT_HASH "${GIT_COMMIT_HASH}")
endif()
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --abbrev=7
WORKING_DIRECTORY ${REACTOS_SOURCE_DIR}
OUTPUT_VARIABLE GIT_DESCRIBE_REVISION
RESULT_VARIABLE GIT_CALL_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(GIT_CALL_RESULT EQUAL 0)
set(REVISION "${GIT_DESCRIBE_REVISION}")
endif()
endif()
endif()
configure_file(sdk/include/reactos/version.h.cmake ${REACTOS_BINARY_DIR}/sdk/include/reactos/version.h)
configure_file(sdk/include/reactos/buildno.h.cmake ${REACTOS_BINARY_DIR}/sdk/include/reactos/buildno.h)
configure_file(sdk/include/reactos/builddir.h.cmake ${REACTOS_BINARY_DIR}/sdk/include/reactos/builddir.h)