From 20a8b063d9fe7e455dfa7fc4ebcdc8fa3eda9e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Althaus?= Date: Sat, 28 Sep 2024 00:23:53 +0200 Subject: [PATCH] Regenerate Version.h if the git hash changes Prevous Version.h was not regenerated after it was initially created. This prevented an accurate commit hash in the About dialog when incrementally building from source. Now the file is always rewritten when it's content is changed. --- src/Build/CMakeLists.txt | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/Build/CMakeLists.txt b/src/Build/CMakeLists.txt index 615cdea573..4739ffb090 100644 --- a/src/Build/CMakeLists.txt +++ b/src/Build/CMakeLists.txt @@ -10,19 +10,17 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Version.h) ${CMAKE_CURRENT_BINARY_DIR}/Version.h.in) add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Version.h + OUTPUT version_file + BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/Version.h + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/SubWCRev.py + --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR} 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) + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Version.h.in) + set_source_files_properties(version_file PROPERTIES SYMBOLIC true) - 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) + ADD_CUSTOM_TARGET(fc_version DEPENDS version_file ${CMAKE_CURRENT_BINARY_DIR}/Version.h) else (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Version.h)