[PATCH v2 0/3] cmake: fix autogenerated clar headers
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Oct 15, 2024, 09:46 UTC
- Message-ID
- <cover.1728985514.git.ps@pks.im>
- In-Reply-To
- <CAGjHeYfyH+cOMYYYHnFR+Vu9T+RbmzO1SpB_-kbmBSf1DitJhA@mail.gmail.com>
Hi,
this is the second version of this patch series that fixes building clar with the CMake build system.
Changes compared to v1:
- Use a for loop instead of `while; shift`.
- Provide a bit more context around the PRIVATE/PUBLIC switch in the
commit message.Thanks!
Patrick
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 | 16 +++++++++ 3 files changed, 30 insertions(+), 42 deletions(-) create mode 100755 t/unit-tests/generate-clar-decls.sh
Range-diff against v1:
1: 346aa2f0830 ! 1: 7a619677c7a Makefile: extract script to generate clar declarations
@@ t/unit-tests/generate-clar-decls.sh (new)
+OUTPUT="$1"
+shift
+
-+while test "$#" -ne 0
++for suite in "$@"
+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" ||
+ exit 1
+done >"$OUTPUT"
2: b9afeffda29 ! 2: 447afc4a0f3 cmake: fix compilation of clar-based unit tests
@@ Commit message
"clar.suite" files as include directories. Instead, we accidentally set
up the source directory as include directory.
- Fix this and propagate the include directories of "unit-tests.lib" to
- the "unit-tests" executable so that the latter uses the same include
- directories.
+ Fix this by including the binary directory instead of the source
+ directory. Furthermore, set up the include directories as PUBLIC instead
+ of PRIVATE such that they propagate from "unit-tests.lib" to the
+ "unit-tests" executable, which needs to include the same directory.
Reported-by: Ed Reel <edreel@gmail.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
3: 129d28ae48a = 3: cf4955b2ddc cmake: set up proper dependencies for generated clar headers-- 2.47.0.72.gef8ce8f3d4.dirty