mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
cmake: Set RELEASE_CANDIDATE/BETA based on git describe
This commit is contained in:
parent
9b087d15fc
commit
d1a1a2c060
@ -12,6 +12,30 @@ set(_OBS_BETA "0" "0" "0" "0")
|
||||
|
||||
# Set full and canonical OBS version from current git tag or manual override
|
||||
if(NOT DEFINED OBS_VERSION_OVERRIDE)
|
||||
if(NOT DEFINED RELEASE_CANDIDATE
|
||||
AND NOT DEFINED BETA
|
||||
AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
execute_process(
|
||||
COMMAND git describe --always --tags --dirty=-modified
|
||||
OUTPUT_VARIABLE _OBS_VERSION
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE _OBS_VERSION_RESULT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if(_OBS_VERSION_RESULT EQUAL 0)
|
||||
if(${_OBS_VERSION} MATCHES "rc[0-9]+$")
|
||||
set(RELEASE_CANDIDATE ${_OBS_VERSION})
|
||||
elseif(${_OBS_VERSION} MATCHES "beta[0-9]+$")
|
||||
set(BETA ${_OBS_VERSION})
|
||||
else()
|
||||
string(REPLACE "-" "." _CANONICAL_SPLIT ${_OBS_VERSION})
|
||||
string(REPLACE "." ";" _CANONICAL_SPLIT ${_CANONICAL_SPLIT})
|
||||
list(GET _CANONICAL_SPLIT 0 1 2 _OBS_VERSION_CANONICAL)
|
||||
string(REPLACE "." ";" _OBS_VERSION ${_OBS_VERSION})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Set release candidate version information Must be a string in the format of
|
||||
# "x.x.x-rcx"
|
||||
if(DEFINED RELEASE_CANDIDATE)
|
||||
@ -26,24 +50,7 @@ if(NOT DEFINED OBS_VERSION_OVERRIDE)
|
||||
string(REPLACE "." ";" _OBS_VERSION ${BETA})
|
||||
string(REPLACE "." ";" _OBS_BETA ${_OBS_BETA})
|
||||
list(GET _OBS_BETA 0 1 2 _OBS_VERSION_CANONICAL)
|
||||
elseif(EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
execute_process(
|
||||
COMMAND git describe --always --tags --dirty=-modified
|
||||
OUTPUT_VARIABLE _OBS_VERSION
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE _OBS_VERSION_RESULT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if(_OBS_VERSION_RESULT EQUAL 0)
|
||||
string(REPLACE "-" "." _CANONICAL_SPLIT ${_OBS_VERSION})
|
||||
string(REPLACE "." ";" _CANONICAL_SPLIT ${_CANONICAL_SPLIT})
|
||||
list(GET _CANONICAL_SPLIT 0 1 2 _OBS_VERSION_CANONICAL)
|
||||
string(REPLACE "." ";" _OBS_VERSION ${_OBS_VERSION})
|
||||
else()
|
||||
set(_OBS_VERSION "${_OBS_DEFAULT_VERSION}")
|
||||
set(_OBS_VERSION_CANONICAL ${_OBS_DEFAULT_VERSION})
|
||||
endif()
|
||||
else()
|
||||
elseif(NOT DEFINED _OBS_VERSION)
|
||||
set(_OBS_VERSION ${_OBS_DEFAULT_VERSION})
|
||||
set(_OBS_VERSION_CANONICAL ${_OBS_DEFAULT_VERSION})
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user