mbox series

[v2,0/3] cmake: fix autogenerated clar headers

Message ID cover.1728985514.git.ps@pks.im (mailing list archive)
Headers show
Series cmake: fix autogenerated clar headers | expand

Message

Patrick Steinhardt Oct. 15, 2024, 9:46 a.m. UTC
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

Comments

Taylor Blau Oct. 15, 2024, 7:25 p.m. UTC | #1
On Tue, Oct 15, 2024 at 11:46:08AM +0200, Patrick Steinhardt wrote:
> 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

Thanks; will queue.

Thanks,
Taylor