From: Johannes Schindelin Date: Wed, 13 Nov 2024 15:41:25 GMT Subject: Re: [PATCH v2 3/4] cmake: use verbatim arguments when invoking clar commands Message-ID: <82d3f3aa-b11c-318f-9d47-35e0ebf3ebce@gmx.de> In-Reply-To: <20241111-pks-clar-build-improvements-v2-3-d4794d8d1b30@pks.im> Hi Patrick, On Mon, 11 Nov 2024, Patrick Steinhardt wrote: > Pass the VERBATIM option to `add_custom_command()`. Like this, all > arguments to the commands will be escaped properly for the build tool so > that the invoked command receives each argument unchanged. I would not be surprised if this `VERBATIM` was unaware of the quirky escaping that the MSYS2 runtime (and therefore the Bash) requires. See the commit message of ad1559252945 (tests: add a helper to stress test argument quoting, 2019-09-18) for details. Having said that, this patch certainly does not make things _worse_, even if it probably does not have the intended effect on Windows. But then, it does not matter because most git/git source checkouts live at absolute paths that do not need to be quoted. Ciao, Johannes > > Signed-off-by: Patrick Steinhardt > --- > contrib/buildsystems/CMakeLists.txt | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt > index 2db80b7cc3c6aba840f18ffdc78d2cda1877d8cd..8c71f5a1d0290c9204e094fb266f10c7b70af9fb 100644 > --- a/contrib/buildsystems/CMakeLists.txt > +++ b/contrib/buildsystems/CMakeLists.txt > @@ -1009,13 +1009,15 @@ add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" > "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" > ${clar_test_SUITES} > DEPENDS ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh > - ${clar_test_SUITES}) > + ${clar_test_SUITES} > + VERBATIM) > add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" > COMMAND ${SH_EXE} "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" > "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" > "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" > DEPENDS "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" > - "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h") > + "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" > + VERBATIM) > > add_library(unit-tests-lib ${clar_test_SUITES} > "${CMAKE_SOURCE_DIR}/t/unit-tests/clar/clar.c" > > -- > 2.47.0.229.g8f8d6eee53.dirty > >