buildnumber.cmake 701 B

1234567891011121314151617181920212223242526
  1. # OBS CMake build number module
  2. include_guard(GLOBAL)
  3. # Define build number cache file
  4. set(
  5. _BUILD_NUMBER_CACHE
  6. "${CMAKE_CURRENT_SOURCE_DIR}/cmake/.CMakeBuildNumber"
  7. CACHE INTERNAL
  8. "OBS build number cache file"
  9. )
  10. # Read build number from cache file or manual override
  11. if(NOT DEFINED OBS_BUILD_NUMBER)
  12. if(EXISTS "${_BUILD_NUMBER_CACHE}")
  13. file(READ "${_BUILD_NUMBER_CACHE}" OBS_BUILD_NUMBER)
  14. math(EXPR OBS_BUILD_NUMBER "${OBS_BUILD_NUMBER}+1")
  15. else()
  16. if("$ENV{CI}" AND "$ENV{GITHUB_RUN_ID}")
  17. set(OBS_BUILD_NUMBER "$ENV{GITHUB_RUN_ID}")
  18. else()
  19. set(OBS_BUILD_NUMBER "1")
  20. endif()
  21. endif()
  22. file(WRITE "${_BUILD_NUMBER_CACHE}" "${OBS_BUILD_NUMBER}")
  23. endif()