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.
This commit is contained in:
Ian McInerney 2021-01-28 00:23:17 +00:00
parent 9263c0d554
commit fdf6318218
4 changed files with 4 additions and 0 deletions

View File

@ -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" COMMENT "Running Lemon on ${GRAMMAR_FILE} to generate ${GRAMMAR_DIR}/${GRAMMAR_BASE}.c"
DEPENDS lemon DEPENDS lemon
${CMAKE_CURRENT_SOURCE_DIR}/${GRAMMAR_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${GRAMMAR_FILE}
${CMAKE_MODULE_PATH}/BuildSteps/LemonParserGenerator.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${GRAMMAR_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${GRAMMAR_DIR}
) )

View File

@ -67,6 +67,7 @@ if(DOXYGEN_FOUND AND DOXYTAG2ZEALDB AND SED)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
OUTPUT ${DOCSET_DOXYFILE} OUTPUT ${DOCSET_DOXYFILE}
DEPENDS ${CMAKE_BINARY_DIR}/kicad_build_version.h DEPENDS ${CMAKE_BINARY_DIR}/kicad_build_version.h
${CMAKE_MODULE_PATH}/BuildSteps/CreateDocsetDoxyfile.cmake
COMMENT "Modifying doxyfile for docset creation" COMMENT "Modifying doxyfile for docset creation"
) )

View File

@ -149,6 +149,7 @@ add_custom_target(
-P ${CMAKE_MODULE_PATH}/BuildSteps/WriteVersionHeader.cmake -P ${CMAKE_MODULE_PATH}/BuildSteps/WriteVersionHeader.cmake
WORKING_DIRECTORY ${CMAKE_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
BYPRODUCTS ${CMAKE_BINARY_DIR}/kicad_build_version.h BYPRODUCTS ${CMAKE_BINARY_DIR}/kicad_build_version.h
DEPENDS ${CMAKE_MODULE_PATH}/BuildSteps/WriteVersionHeader.cmake
COMMENT "Generating version string header" COMMENT "Generating version string header"
) )

View File

@ -13,6 +13,7 @@ elseif( UNIX )
-DBUILD_PATH=${PROJECT_BINARY_DIR} -DBUILD_PATH=${PROJECT_BINARY_DIR}
-DCMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/CMakeModules -DCMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/CMakeModules
-P ${CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake -P ${CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
DEPENDS ${CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
COMMENT "Configuring Linux appdata" COMMENT "Configuring Linux appdata"
) )