Files
create/src/Build/CMakeLists.txt
Zheng, Lei dddd3a95b5 Improve Version.h handling
Always check for version changes when building. Version.h is only
updated if actually changed.
2019-08-17 15:08:33 +02:00

32 lines
1.2 KiB
CMake

set(PACKAGE_WCREF "$WCREV$")
set(PACKAGE_WCDATE "$WCDATE$")
set(PACKAGE_WCURL "$WCURL$")
# If the sources don't include a Version.h then create one
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Version.h)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Version.h.cmake
${CMAKE_CURRENT_BINARY_DIR}/Version.h.in)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Version.h
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/Version.h.out
${CMAKE_CURRENT_BINARY_DIR}/Version.h
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS version_check)
add_custom_command(
OUTPUT version_check
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/SubWCRev.py
--srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
ADD_CUSTOM_TARGET(fc_version DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Version.h)
else (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Version.h)
ADD_CUSTOM_TARGET(fc_version DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Version.h)
endif (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Version.h)