git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Previous: Taylor BlauNext: Patrick Steinhardt
Message 13 of 20 in “Bug report”
  1. Ed ReelOct 9, 2024
  2. Johannes SchindelinOct 14, 2024
  3. 0/3 cmake: fix autogenerated clar headersPatrick Steinhardt, Oct 14, 2024
  4. 1/3 Makefile: extract script to generate clar declarationsPatrick Steinhardt, Oct 14, 2024
  5. Taylor BlauOct 14, 2024
  6. Patrick SteinhardtOct 15, 2024
  7. 2/3 cmake: fix compilation of clar-based unit testsPatrick Steinhardt, Oct 14, 2024
  8. Taylor BlauOct 14, 2024
  9. Patrick SteinhardtOct 15, 2024
  10. 3/3 cmake: set up proper dependencies for generated clar headersPatrick Steinhardt, Oct 14, 2024
  11. Taylor BlauOct 14, 2024
  12. Taylor BlauOct 14, 2024
  13. 0/3 cmake: fix autogenerated clar headersPatrick Steinhardt, Oct 15, 2024
  14. 1/3 Makefile: extract script to generate clar declarationsPatrick Steinhardt, Oct 15, 2024
  15. Taylor BlauOct 15, 2024
  16. Toon ClaesOct 18, 2024
  17. Patrick SteinhardtOct 21, 2024
  18. 2/3 cmake: fix compilation of clar-based unit testsPatrick Steinhardt, Oct 15, 2024
  19. 3/3 cmake: set up proper dependencies for generated clar headersPatrick Steinhardt, Oct 15, 2024
  20. Taylor BlauOct 15, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.