From fdf63182182c6f7bad0d7f71de89c9611e1f54d4 Mon Sep 17 00:00:00 2001 From: Ian McInerney <ian.s.mcinerney@ieee.org> Date: Thu, 28 Jan 2021 00:23:17 +0000 Subject: [PATCH] Ensure cmake commands depend on the cmake file they use Without this dependency, the build stage won't rerun if the CMake file changes on disk. --- CMakeModules/Functions.cmake | 1 + Documentation/docset/CMakeLists.txt | 1 + common/CMakeLists.txt | 1 + resources/CMakeLists.txt | 1 + 4 files changed, 4 insertions(+) diff --git a/CMakeModules/Functions.cmake b/CMakeModules/Functions.cmake index aaf6ca9964..7de1f709ad 100644 --- a/CMakeModules/Functions.cmake +++ b/CMakeModules/Functions.cmake @@ -88,6 +88,7 @@ function( generate_lemon_grammar TGT GRAMMAR_DIR CONSUMING_FILE GRAMMAR_FILE ) COMMENT "Running Lemon on ${GRAMMAR_FILE} to generate ${GRAMMAR_DIR}/${GRAMMAR_BASE}.c" DEPENDS lemon ${CMAKE_CURRENT_SOURCE_DIR}/${GRAMMAR_FILE} + ${CMAKE_MODULE_PATH}/BuildSteps/LemonParserGenerator.cmake WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${GRAMMAR_DIR} ) diff --git a/Documentation/docset/CMakeLists.txt b/Documentation/docset/CMakeLists.txt index b6f1d84298..51e99b62c6 100644 --- a/Documentation/docset/CMakeLists.txt +++ b/Documentation/docset/CMakeLists.txt @@ -67,6 +67,7 @@ if(DOXYGEN_FOUND AND DOXYTAG2ZEALDB AND SED) WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ OUTPUT ${DOCSET_DOXYFILE} DEPENDS ${CMAKE_BINARY_DIR}/kicad_build_version.h + ${CMAKE_MODULE_PATH}/BuildSteps/CreateDocsetDoxyfile.cmake COMMENT "Modifying doxyfile for docset creation" ) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 00308c80f3..527c49fdd5 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -149,6 +149,7 @@ add_custom_target( -P ${CMAKE_MODULE_PATH}/BuildSteps/WriteVersionHeader.cmake WORKING_DIRECTORY ${CMAKE_BINARY_DIR} BYPRODUCTS ${CMAKE_BINARY_DIR}/kicad_build_version.h + DEPENDS ${CMAKE_MODULE_PATH}/BuildSteps/WriteVersionHeader.cmake COMMENT "Generating version string header" ) diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 7c345ea8f4..d5406f27d6 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -13,6 +13,7 @@ elseif( UNIX ) -DBUILD_PATH=${PROJECT_BINARY_DIR} -DCMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/CMakeModules -P ${CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake + DEPENDS ${CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake COMMENT "Configuring Linux appdata" )