cmake: Do not write build number file if OBS_BUILD_NUMBER set

Allows for configuration and build from a read-only-mounted source dir
by setting the build number externally. For example:
`cmake -DOBS_BUILD_NUMBER=1`
This commit is contained in:
Kamal Mostafa
2024-05-24 17:32:59 -07:00
committed by Ryan Foster
parent 8c48f8c7b5
commit d813b7837a
2 changed files with 18 additions and 14 deletions
+8 -6
View File
@@ -105,12 +105,14 @@ set(BUILD_NUMBER_CACHE
CACHE INTERNAL "OBS build number cache file")
# Read build number from cache file or manual override
if(NOT DEFINED OBS_BUILD_NUMBER AND EXISTS ${BUILD_NUMBER_CACHE})
file(READ ${BUILD_NUMBER_CACHE} OBS_BUILD_NUMBER)
math(EXPR OBS_BUILD_NUMBER "${OBS_BUILD_NUMBER}+1")
elseif(NOT DEFINED OBS_BUILD_NUMBER)
set(OBS_BUILD_NUMBER "1")
if(NOT DEFINED OBS_BUILD_NUMBER)
if(EXISTS ${BUILD_NUMBER_CACHE})
file(READ ${BUILD_NUMBER_CACHE} OBS_BUILD_NUMBER)
math(EXPR OBS_BUILD_NUMBER "${OBS_BUILD_NUMBER}+1")
else()
set(OBS_BUILD_NUMBER "1")
endif()
file(WRITE ${BUILD_NUMBER_CACHE} "${OBS_BUILD_NUMBER}")
endif()
file(WRITE ${BUILD_NUMBER_CACHE} "${OBS_BUILD_NUMBER}")
message(STATUS "OBS: Application Version: ${OBS_VERSION} - Build Number: ${OBS_BUILD_NUMBER}")
+10 -8
View File
@@ -8,14 +8,16 @@ set(_BUILD_NUMBER_CACHE
CACHE INTERNAL "OBS build number cache file")
# Read build number from cache file or manual override
if(NOT DEFINED OBS_BUILD_NUMBER AND EXISTS "${_BUILD_NUMBER_CACHE}")
file(READ "${_BUILD_NUMBER_CACHE}" OBS_BUILD_NUMBER)
math(EXPR OBS_BUILD_NUMBER "${OBS_BUILD_NUMBER}+1")
elseif(NOT DEFINED OBS_BUILD_NUMBER)
if("$ENV{CI}" AND "$ENV{GITHUB_RUN_ID}")
set(OBS_BUILD_NUMBER "$ENV{GITHUB_RUN_ID}")
if(NOT DEFINED OBS_BUILD_NUMBER)
if(EXISTS "${_BUILD_NUMBER_CACHE}")
file(READ "${_BUILD_NUMBER_CACHE}" OBS_BUILD_NUMBER)
math(EXPR OBS_BUILD_NUMBER "${OBS_BUILD_NUMBER}+1")
else()
set(OBS_BUILD_NUMBER "1")
if("$ENV{CI}" AND "$ENV{GITHUB_RUN_ID}")
set(OBS_BUILD_NUMBER "$ENV{GITHUB_RUN_ID}")
else()
set(OBS_BUILD_NUMBER "1")
endif()
endif()
file(WRITE "${_BUILD_NUMBER_CACHE}" "${OBS_BUILD_NUMBER}")
endif()
file(WRITE "${_BUILD_NUMBER_CACHE}" "${OBS_BUILD_NUMBER}")