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()