Re: [PATCH] cmake: accommodate for `UNIT_TEST_SOURCES`

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Junio,

this patch is still required; I sent this before -rc0 was released so that
it could be included in v2.51.0 final. Could you please still merge it?

Thanks,
Johannes

On Sun, 3 Aug 2025, Johannes Schindelin via GitGitGadget wrote:

> From: Johannes Schindelin <johannes.schindelin@xxxxxx>
> 
> As part of 9bbc981c6f2 (t/unit-tests: finalize migration of
> reftable-related tests, 2025-07-24), the explicit list of
> `UNIT_TEST_PROGRAMS` was turned into a wildcard pattern-derived list.
> 
> Let's do the same in the CMake definition.
> 
> This fixes build errors with symptoms like this:
> 
>   CMake Error at CMakeLists.txt:132 (string):
>     string sub-command REPLACE requires at least four arguments.
>   Call Stack (most recent call first):
>     CMakeLists.txt:1037 (parse_makefile_for_scripts)
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
> ---
>     cmake: accommodate for UNIT_TEST_SOURCES
>     
>     This fix is needed to build Git using CMake in the wake of the recent
>     migration of the reftable tests from being regression tests written in
>     Unix shell script to being unit tests in pure C.
> 
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1947%2Fdscho%2Freftable-vs-cmake-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1947/dscho/reftable-vs-cmake-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1947
> 
>  contrib/buildsystems/CMakeLists.txt | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
> index 25b495fa737..edb0fc04ad7 100644
> --- a/contrib/buildsystems/CMakeLists.txt
> +++ b/contrib/buildsystems/CMakeLists.txt
> @@ -1005,7 +1005,9 @@ parse_makefile_for_sources(clar-test_SOURCES ${CMAKE_SOURCE_DIR}/Makefile "CLAR_
>  list(TRANSFORM clar-test_SOURCES REPLACE "\\$\\(UNIT_TEST_DIR\\)/" "${CMAKE_SOURCE_DIR}/t/unit-tests/")
>  add_library(clar-test-lib STATIC ${clar-test_SOURCES})
>  
> -parse_makefile_for_scripts(unit_test_PROGRAMS "UNIT_TEST_PROGRAMS" "")
> +file(GLOB unit_test_PROGRAMS "${CMAKE_SOURCE_DIR}/t/unit-tests/t-*.c")
> +list(TRANSFORM unit_test_PROGRAMS REPLACE "${CMAKE_SOURCE_DIR}/" "")
> +list(TRANSFORM unit_test_PROGRAMS REPLACE ".c" "")
>  foreach(unit_test ${unit_test_PROGRAMS})
>  	add_executable("${unit_test}" "${CMAKE_SOURCE_DIR}/t/unit-tests/${unit_test}.c")
>  	target_link_libraries("${unit_test}" unit-test-lib clar-test-lib common-main)
> 
> base-commit: 866e6a391f466baeeb98bc585845ea638322c04b
> -- 
> gitgitgadget
> 
> 





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux