mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[cmake] unify version creation
* move to common cmake/GetProjectVersion.cmake for both, WinPR and FreeRDP * add preference for git tag or commit * move options to this common file
This commit is contained in:
@@ -100,25 +100,10 @@ if($ENV{BUILD_NUMBER})
|
||||
set(BUILD_NUMBER $ENV{BUILD_NUMBER})
|
||||
endif()
|
||||
|
||||
set(VERSION_REGEX "^(.*)([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
|
||||
set(RAW_VERSION_STRING "3.16.1-dev0")
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_tag")
|
||||
file(READ ${PROJECT_SOURCE_DIR}/.source_tag RAW_VERSION_STRING)
|
||||
elseif(USE_VERSION_FROM_GIT_TAG)
|
||||
git_get_exact_tag(_GIT_TAG --tags --always)
|
||||
if(NOT ${_GIT_TAG} STREQUAL "n/a")
|
||||
string(REGEX MATCH ${VERSION_REGEX} FOUND_TAG "${_GIT_TAG}")
|
||||
if(FOUND_TAG)
|
||||
set(RAW_VERSION_STRING ${_GIT_TAG})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
string(STRIP ${RAW_VERSION_STRING} RAW_VERSION_STRING)
|
||||
|
||||
string(REGEX REPLACE "${VERSION_REGEX}" "\\2" FREERDP_VERSION_MAJOR "${RAW_VERSION_STRING}")
|
||||
string(REGEX REPLACE "${VERSION_REGEX}" "\\3" FREERDP_VERSION_MINOR "${RAW_VERSION_STRING}")
|
||||
string(REGEX REPLACE "${VERSION_REGEX}" "\\4" FREERDP_VERSION_REVISION "${RAW_VERSION_STRING}")
|
||||
string(REGEX REPLACE "${VERSION_REGEX}" "\\5" FREERDP_VERSION_SUFFIX "${RAW_VERSION_STRING}")
|
||||
include(GetProjectVersion)
|
||||
get_project_version(
|
||||
FREERDP_VERSION_MAJOR FREERDP_VERSION_MINOR FREERDP_VERSION_REVISION FREERDP_VERSION_SUFFIX GIT_REVISION
|
||||
)
|
||||
|
||||
set(FREERDP_API_VERSION "${FREERDP_VERSION_MAJOR}")
|
||||
set(FREERDP_VERSION "${FREERDP_VERSION_MAJOR}.${FREERDP_VERSION_MINOR}.${FREERDP_VERSION_REVISION}")
|
||||
@@ -129,22 +114,6 @@ else()
|
||||
endif()
|
||||
message("FREERDP_VERSION=${FREERDP_VERSION_FULL}")
|
||||
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_version")
|
||||
file(READ ${PROJECT_SOURCE_DIR}/.source_version GIT_REVISION)
|
||||
|
||||
string(STRIP ${GIT_REVISION} GIT_REVISION)
|
||||
elseif(USE_VERSION_FROM_GIT_TAG)
|
||||
git_get_exact_tag(GIT_REVISION --tags --always)
|
||||
|
||||
if(${GIT_REVISION} STREQUAL "n/a")
|
||||
git_rev_parse(GIT_REVISION --short)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT GIT_REVISION)
|
||||
set(GIT_REVISION ${FREERDP_VERSION})
|
||||
endif()
|
||||
|
||||
message(STATUS "Git Revision ${GIT_REVISION}")
|
||||
|
||||
# MSVC compatibility with system headers
|
||||
|
||||
Reference in New Issue
Block a user