Files
libvirtualhid/cmake/build_version.cmake

47 lines
1.8 KiB
CMake

# Set build variables if env variables are defined.
if(DEFINED ENV{BRANCH})
set(GITHUB_BRANCH "$ENV{BRANCH}")
endif()
if(DEFINED ENV{BUILD_VERSION}) # cmake-lint: disable=W0106
set(BUILD_VERSION "$ENV{BUILD_VERSION}")
endif()
if(DEFINED ENV{CLONE_URL})
set(GITHUB_CLONE_URL "$ENV{CLONE_URL}")
endif()
if(DEFINED ENV{COMMIT})
set(GITHUB_COMMIT "$ENV{COMMIT}")
endif()
if(DEFINED ENV{TAG})
set(GITHUB_TAG "$ENV{TAG}")
endif()
if(DEFINED ENV{BUILD_VERSION} AND NOT "$ENV{BUILD_VERSION}" STREQUAL "") # cmake-lint: disable=W0106
message(STATUS "Using CI build version '$ENV{BUILD_VERSION}'")
set(PROJECT_VERSION "$ENV{BUILD_VERSION}")
string(REGEX REPLACE "^v" "" PROJECT_VERSION "${PROJECT_VERSION}")
set(CMAKE_PROJECT_VERSION "${PROJECT_VERSION}")
endif()
if(PROJECT_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(\\.([0-9]+))?$")
set(PROJECT_VERSION_MAJOR "${CMAKE_MATCH_1}")
set(CMAKE_PROJECT_VERSION_MAJOR "${CMAKE_MATCH_1}")
set(PROJECT_VERSION_MINOR "${CMAKE_MATCH_2}")
set(CMAKE_PROJECT_VERSION_MINOR "${CMAKE_MATCH_2}")
set(PROJECT_VERSION_PATCH "${CMAKE_MATCH_3}")
set(CMAKE_PROJECT_VERSION_PATCH "${CMAKE_MATCH_3}")
if(CMAKE_MATCH_5)
set(PROJECT_VERSION_TWEAK "${CMAKE_MATCH_5}")
else()
set(PROJECT_VERSION_TWEAK 0)
endif()
set(CMAKE_PROJECT_VERSION_TWEAK "${PROJECT_VERSION_TWEAK}")
endif()
message(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}")
message(STATUS "PROJECT_VERSION_MAJOR: ${PROJECT_VERSION_MAJOR}")
message(STATUS "PROJECT_VERSION_MINOR: ${PROJECT_VERSION_MINOR}")
message(STATUS "PROJECT_VERSION_PATCH: ${PROJECT_VERSION_PATCH}")
message(STATUS "PROJECT_VERSION_TWEAK: ${PROJECT_VERSION_TWEAK}")
message(STATUS "GITHUB_BRANCH: ${GITHUB_BRANCH}")
message(STATUS "GITHUB_COMMIT: ${GITHUB_COMMIT}")