Quellcode durchsuchen

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`
Kamal Mostafa vor 1 Jahr
Ursprung
Commit
d813b7837a
2 geänderte Dateien mit 18 neuen und 14 gelöschten Zeilen
  1. 8 6
      cmake/Modules/VersionConfig.cmake
  2. 10 8
      cmake/common/buildnumber.cmake

+ 8 - 6
cmake/Modules/VersionConfig.cmake

@@ -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
cmake/common/buildnumber.cmake

@@ -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}")