56 lines
2.0 KiB
CMake
56 lines
2.0 KiB
CMake
|
#
|
||
|
# Versioning information
|
||
|
#
|
||
|
#Figure out the git revision
|
||
|
find_package(Git QUIET)
|
||
|
if(GIT_FOUND)
|
||
|
exec_program(${GIT_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
ARGS describe --always --long --dirty
|
||
|
OUTPUT_VARIABLE OPENFPGA_VCS_REVISION
|
||
|
RETURN_VALUE GIT_DESCRIBE_RETURN_VALUE)
|
||
|
|
||
|
if(NOT GIT_DESCRIBE_RETURN_VALUE EQUAL 0)
|
||
|
#Git describe failed, usually this means we
|
||
|
#aren't in a git repo -- so don't set a VCS
|
||
|
#revision
|
||
|
set(OPENFPGA_VCS_REVISION "unkown")
|
||
|
endif()
|
||
|
|
||
|
#Call again with exclude to get the revision excluding any tags
|
||
|
#(i.e. just the commit ID and dirty flag)
|
||
|
exec_program(${GIT_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
ARGS describe --always --long --dirty --exclude '*'
|
||
|
OUTPUT_VARIABLE OPENFPGA_VCS_REVISION_SHORT
|
||
|
RETURN_VALUE GIT_DESCRIBE_RETURN_VALUE)
|
||
|
if(NOT GIT_DESCRIBE_RETURN_VALUE EQUAL 0)
|
||
|
#Git describe failed, usually this means we
|
||
|
#aren't in a git repo -- so don't set a VCS
|
||
|
#revision
|
||
|
set(OPENFPGA_VCS_REVISION_SHORT "unkown")
|
||
|
endif()
|
||
|
else()
|
||
|
#Couldn't find git, so can't look-up VCS revision
|
||
|
set(OPENFPGA_VCS_REVISION "unkown")
|
||
|
set(OPENFPGA_VCS_REVISION_SHORT "unkown")
|
||
|
endif()
|
||
|
|
||
|
|
||
|
#Set the version according to semver.org
|
||
|
set(OPENFPGA_VERSION "${OPENFPGA_VERSION_MAJOR}.${OPENFPGA_VERSION_MINOR}.${OPENFPGA_VERSION_PATCH}")
|
||
|
if(OPENFPGA_VERSION_PRERELEASE)
|
||
|
set(OPENFPGA_VERSION "${OPENFPGA_VERSION}-${OPENFPGA_VERSION_PRERELEASE}")
|
||
|
endif()
|
||
|
set(OPENFPGA_VERSION_SHORT ${OPENFPGA_VERSION})
|
||
|
if(OPENFPGA_VCS_REVISION)
|
||
|
set(OPENFPGA_VERSION "${OPENFPGA_VERSION}+${OPENFPGA_VCS_REVISION_SHORT}")
|
||
|
endif()
|
||
|
|
||
|
#Other build meta-data
|
||
|
string(TIMESTAMP OPENFPGA_BUILD_TIMESTAMP)
|
||
|
set(OPENFPGA_BUILD_TIMESTAMP "${OPENFPGA_BUILD_TIMESTAMP}")
|
||
|
set(OPENFPGA_BUILD_INFO "${OPENFPGA_BUILD_INFO}")
|
||
|
|
||
|
message(STATUS "OpenFPGA Version: ${OPENFPGA_VERSION}")
|
||
|
|
||
|
configure_file(${IN_FILE} ${OUT_FILE})
|