1
0

build-info.cmake 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. set(BUILD_NUMBER 0)
  2. set(BUILD_COMMIT "unknown")
  3. set(BUILD_COMPILER "unknown")
  4. set(BUILD_TARGET "unknown")
  5. # Look for git
  6. find_package(Git)
  7. if(NOT Git_FOUND)
  8. find_program(GIT_EXECUTABLE NAMES git git.exe)
  9. if(GIT_EXECUTABLE)
  10. set(Git_FOUND TRUE)
  11. message(STATUS "Found Git: ${GIT_EXECUTABLE}")
  12. else()
  13. message(WARNING "Git not found. Build info will not be accurate.")
  14. endif()
  15. endif()
  16. # Get the commit count and hash
  17. if(Git_FOUND)
  18. execute_process(
  19. COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
  20. WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  21. OUTPUT_VARIABLE HEAD
  22. OUTPUT_STRIP_TRAILING_WHITESPACE
  23. RESULT_VARIABLE RES
  24. )
  25. if (RES EQUAL 0)
  26. set(BUILD_COMMIT ${HEAD})
  27. endif()
  28. execute_process(
  29. COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD
  30. WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  31. OUTPUT_VARIABLE COUNT
  32. OUTPUT_STRIP_TRAILING_WHITESPACE
  33. RESULT_VARIABLE RES
  34. )
  35. if (RES EQUAL 0)
  36. set(BUILD_NUMBER ${COUNT})
  37. endif()
  38. endif()
  39. set(BUILD_COMPILER "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}")
  40. if(CMAKE_VS_PLATFORM_NAME)
  41. set(BUILD_TARGET ${CMAKE_VS_PLATFORM_NAME})
  42. else()
  43. set(BUILD_TARGET "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}")
  44. endif()