buildnumber.cmake 864 B

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