Subject: [PATCH 0/3] cmake: fix autogenerated clar headers

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 14 Oct 2024 16:06:38 +0200

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]: <[email-masked]>

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