mirror of
https://github.com/emqx/neuron.git
synced 2026-10-16 20:30:39 +08:00
43 lines
1.3 KiB
CMake
43 lines
1.3 KiB
CMake
set(HEADER_FILE ${CMAKE_CURRENT_LIST_DIR}/../include/neuron/version.h)
|
|
set(HEADER_TMPL ${CMAKE_CURRENT_LIST_DIR}/../version.h.in)
|
|
set(VERSION_FILE ${CMAKE_CURRENT_LIST_DIR}/../version)
|
|
|
|
# versions
|
|
file(STRINGS ${VERSION_FILE} NEURON_VERSION)
|
|
string(REPLACE "." ";" VERSION_LIST ${NEURON_VERSION})
|
|
list(GET VERSION_LIST 0 NEURON_VERSION_MAJOR)
|
|
list(GET VERSION_LIST 1 NEURON_VERSION_MINOR)
|
|
list(GET VERSION_LIST 2 NEURON_VERSION_MICRO)
|
|
|
|
# git revisions
|
|
execute_process(COMMAND git log --pretty=format:'%h' -n 1
|
|
OUTPUT_VARIABLE GIT_REV
|
|
ERROR_QUIET)
|
|
|
|
if ("${GIT_REV}" STREQUAL "")
|
|
set(GIT_REV "N/A")
|
|
set(GIT_DIFF "")
|
|
set(GIT_TAG "N/A")
|
|
set(GIT_BRANCH "N/A")
|
|
else()
|
|
execute_process(COMMAND bash -c "git diff --quiet --exit-code || echo +dirty"
|
|
OUTPUT_VARIABLE GIT_DIFF)
|
|
execute_process(COMMAND git describe --exact-match --tags
|
|
OUTPUT_VARIABLE GIT_TAG
|
|
ERROR_QUIET)
|
|
execute_process(COMMAND git rev-parse --abbrev-ref HEAD
|
|
OUTPUT_VARIABLE GIT_BRANCH)
|
|
|
|
string(STRIP "${GIT_REV}" GIT_REV)
|
|
string(SUBSTRING "${GIT_REV}" 1 7 GIT_REV)
|
|
string(STRIP "${GIT_DIFF}" GIT_DIFF)
|
|
string(STRIP "${GIT_TAG}" GIT_TAG)
|
|
string(STRIP "${GIT_BRANCH}" GIT_BRANCH)
|
|
endif()
|
|
|
|
# build date
|
|
string(TIMESTAMP NEURON_BUILD_DATE "%Y-%m-%d")
|
|
|
|
# generate the header file
|
|
configure_file(${HEADER_TMPL} ${HEADER_FILE} @ONLY)
|