mirror of
https://github.com/falcosecurity/falco.git
synced 2025-09-24 03:19:40 +00:00
Always skip update command for git based external projects
I noticed that some external projects were being reconfigured/built with every make, even though no files in the external project had been updated. With some debugging I noticed that git based external projects were re-running their "update" step every time, and that in turn caused the configure/build/install steps to re-run as well. (Generally the build step is a no-op as the Makefile/etc. in the external project is well formed and doesn't do anything, but the configure/install steps still run). It seems related to this cmake bug: https://gitlab.kitware.com/cmake/cmake/-/issues/19703. In short, the git update step for an external project does not create any "done" file that denotes that the files are still up-to-date. Without that "done" file, the update step is always run, and that in turn causes the other steps for the external project to re-run as well. The best way to fix this seems to be to skip the update step by defining an empty UPDATE_COMMAND. As long as the downloaded code for a given hash/tag/etc does not change, the update step is unnecessary. And if we *really* wanted to ensure unchanged dependencies, we would download our own copies anyway. Making this change significantly cleans up the falco build to avoid rebuilding git based external dependencies. Signed-off-by: Mark Stemm <mark.stemm@gmail.com>
This commit is contained in:
@@ -24,6 +24,7 @@ ExternalProject_Add(
|
|||||||
GIT_TAG "v1.4.0"
|
GIT_TAG "v1.4.0"
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
|
UPDATE_COMMAND ""
|
||||||
INSTALL_COMMAND
|
INSTALL_COMMAND
|
||||||
${CMAKE_COMMAND} -E copy ${STRING_VIEW_LITE_PREFIX}/src/string-view-lite/include/nonstd/string_view.hpp
|
${CMAKE_COMMAND} -E copy ${STRING_VIEW_LITE_PREFIX}/src/string-view-lite/include/nonstd/string_view.hpp
|
||||||
${STRING_VIEW_LITE_INCLUDE}/nonstd/string_view.hpp)
|
${STRING_VIEW_LITE_INCLUDE}/nonstd/string_view.hpp)
|
||||||
|
Reference in New Issue
Block a user