mirror of
https://github.com/RetroDECK/RetroQUEST.git
synced 2025-04-21 01:24:06 +00:00
47 lines
1.2 KiB
CMake
47 lines
1.2 KiB
CMake
# SPDX-License-Identifier: Unlicense
|
|
|
|
find_program( GIT_PROGRAM git )
|
|
|
|
if ( GIT_PROGRAM )
|
|
# get version information
|
|
execute_process(
|
|
COMMAND "${GIT_PROGRAM}" --version
|
|
OUTPUT_VARIABLE GIT_VERSION
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
message( STATUS "Using git: ${GIT_PROGRAM} (${GIT_VERSION})" )
|
|
|
|
include( GetGitRevisionDescription )
|
|
|
|
get_git_head_revision( GIT_REFSPEC GIT_SHA1 )
|
|
git_describe( GIT_SHORT )
|
|
|
|
string( TOUPPER ${PROJECT_NAME} UPPER_PROJECT_NAME )
|
|
|
|
set( VERSION_INPUT_FILE "src/Version.h.in" )
|
|
set( VERSION_OUTPUT_FILE "${CMAKE_BINARY_DIR}/gen/Version.h" )
|
|
|
|
configure_file( "${VERSION_INPUT_FILE}" "${VERSION_OUTPUT_FILE}" )
|
|
|
|
target_sources( ${PROJECT_NAME}
|
|
PRIVATE
|
|
"${VERSION_INPUT_FILE}"
|
|
"${VERSION_OUTPUT_FILE}"
|
|
)
|
|
|
|
get_filename_component( VERSION_OUTPUT_FILE_DIR ${VERSION_OUTPUT_FILE} DIRECTORY )
|
|
|
|
target_include_directories( ${PROJECT_NAME}
|
|
PRIVATE
|
|
${VERSION_OUTPUT_FILE_DIR}
|
|
)
|
|
|
|
message( STATUS "${PROJECT_NAME} version: ${GIT_SHORT}" )
|
|
|
|
unset( VERSION_INPUT_FILE )
|
|
unset( VERSION_OUTPUT_FILE )
|
|
unset( VERSION_OUTPUT_FILE_DIR )
|
|
unset( GIT_VERSION )
|
|
endif()
|