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