-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathversion.cmake
More file actions
36 lines (26 loc) · 917 Bytes
/
Copy pathversion.cmake
File metadata and controls
36 lines (26 loc) · 917 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# FoxilloScope Build-Time Version Generator
if(NOT DEFINED SOURCE_DIR)
set(SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}")
endif()
if(NOT DEFINED BINARY_DIR)
set(BINARY_DIR "${CMAKE_BINARY_DIR}")
endif()
string(TIMESTAMP CURRENT_DATE "%Y%m%d")
execute_process(
COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY "${SOURCE_DIR}"
OUTPUT_VARIABLE GIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE GIT_RES
ERROR_QUIET
)
if(NOT GIT_RES EQUAL 0 OR NOT GIT_HASH)
set(BUILD_VERSION "unknown")
else()
set(BUILD_VERSION "${CURRENT_DATE}-${GIT_HASH}")
endif()
message(STATUS "FoxilloScope Build Version: ${BUILD_VERSION}")
file(WRITE "${SOURCE_DIR}/version/version.h" "#ifndef BUILD_VERSION\n#define BUILD_VERSION \"${BUILD_VERSION}\"\n#endif\n")
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/html")
file(WRITE "${CMAKE_CURRENT_LIST_DIR}/html/version.txt" "${BUILD_VERSION}")
endif ()