Hi, this small patch series fixes how we set up autogenerated clar headers in CMake such that the clar builds again. The underlying issue is that we accidentally added the source directory, not the build directory, to our list of include directories. I guess this went unnoticed because if you also happen to use Makefiles in the same repo, we'd have found the Makefile-generated headers by accident. The other two patches unify the infra to generate "clar-decls.h", which has basically been pulled out of my build system modernization patch series. Taylor: note that this conflicts with the patch series at [1]. The conflict can be solved by accepting the Makefile of this series here and adding the following on top of "t/unit-tests/generate-clar-decls.sh": diff --cc Makefile index 87b86c5be1,0101d349f3..0000000000 --- a/Makefile +++ b/Makefile diff --git a/t/unit-tests/generate-clar-decls.sh b/t/unit-tests/generate-clar-decls.sh index 6646a90f71..49c61d29b3 100755 --- a/t/unit-tests/generate-clar-decls.sh +++ b/t/unit-tests/generate-clar-decls.sh @@ -13,6 +13,6 @@ while test "$#" -ne 0 do suite="$1" shift - sed -ne "s/^\(void test_$suite__[a-zA-Z_0-9][a-zA-Z_0-9]*(void)$\)/extern \1;/p" "$suite" || + sed -ne "s/^\(void test_$suite__[a-zA-Z_0-9][a-zA-Z_0-9]*(void)\)$/extern \1;/p" "$suite" || exit 1 done >"$OUTPUT" Thanks! Patrick [1]: <cover.1728903464.git.ps@xxxxxx> Patrick Steinhardt (3): Makefile: extract script to generate clar declarations cmake: fix compilation of clar-based unit tests cmake: set up proper dependencies for generated clar headers Makefile | 4 +-- contrib/buildsystems/CMakeLists.txt | 52 ++++++++--------------------- t/unit-tests/generate-clar-decls.sh | 18 ++++++++++ 3 files changed, 32 insertions(+), 42 deletions(-) create mode 100755 t/unit-tests/generate-clar-decls.sh -- 2.47.0.72.gef8ce8f3d4.dirty