# [PATCH] cmake: adapt to the Git Standard Library

4 messages from 2024-02-27 to 2024-02-27. Participants: Johannes Schindelin via GitGitGadget, Junio C Hamano, Calvin Wan.
Thread: https://gitlist.dev/t/61017

## Johannes Schindelin via GitGitGadget, 2024-02-27 14:44

Subject: [PATCH] cmake: adapt to the Git Standard Library
Message-ID: <pull.1677.git.1709045045235.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1677.git.1709045045235.gitgitgadget%40gmail.com

```
From: Johannes Schindelin <johannes.schindelin@gmx.de>

In the commit "git-std-lib: introduce Git Standard Library" of the
`cw/git-std-lib` topic, the Makefile was restructured in a manner that
requires the CMake definition to follow suit to be able to build Git.

This commit adjusts the CMake definition accordingly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
    cmake: adapt to the Git Standard Library
    
    The usual CMake adjustments. This is based on cw/git-std-lib.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1677%2Fdscho%2Fcmake-vs-git-std-lib-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1677/dscho/cmake-vs-git-std-lib-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1677

 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 804629c525b..6f46f8f9070 100644
--- a/contrib/buildsystems/CMakeLists.txt
+++ b/contrib/buildsystems/CMakeLists.txt
@@ -676,10 +676,12 @@ include_directories(${CMAKE_BINARY_DIR})
 #build
 #libgit
 parse_makefile_for_sources(libgit_SOURCES "LIB_OBJS")
+parse_makefile_for_sources(std_lib_SOURCES "STD_LIB_OBJS")
 
 list(TRANSFORM libgit_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
+list(TRANSFORM std_lib_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
 list(TRANSFORM compat_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
-add_library(libgit ${libgit_SOURCES} ${compat_SOURCES})
+add_library(libgit ${libgit_SOURCES} ${std_lib_SOURCES} ${compat_SOURCES})
 
 #libxdiff
 parse_makefile_for_sources(libxdiff_SOURCES "XDIFF_OBJS")

base-commit: c9e04a1e1f954dd60b1373f75b710f64d34e502b
-- 
gitgitgadget

```

## Junio C Hamano, 2024-02-27 18:40

Subject: Re: [PATCH] cmake: adapt to the Git Standard Library
Message-ID: <xmqqcyshsqcf.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqcyshsqcf.fsf%40gitster.g
In-Reply-To: <pull.1677.git.1709045045235.gitgitgadget@gmail.com>

```
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
writes:

> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> In the commit "git-std-lib: introduce Git Standard Library" of the
> `cw/git-std-lib` topic, the Makefile was restructured in a manner that
> requires the CMake definition to follow suit to be able to build Git.
>
> This commit adjusts the CMake definition accordingly.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>     cmake: adapt to the Git Standard Library
>     
>     The usual CMake adjustments. This is based on cw/git-std-lib.

Thanks for a fix.

std-lib folks, can you fold this patch (with authorship credits
intact) into your series when it gets rerolled from here on?

Thanks.

> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1677%2Fdscho%2Fcmake-vs-git-std-lib-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1677/dscho/cmake-vs-git-std-lib-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1677
>
>  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 804629c525b..6f46f8f9070 100644
> --- a/contrib/buildsystems/CMakeLists.txt
> +++ b/contrib/buildsystems/CMakeLists.txt
> @@ -676,10 +676,12 @@ include_directories(${CMAKE_BINARY_DIR})
>  #build
>  #libgit
>  parse_makefile_for_sources(libgit_SOURCES "LIB_OBJS")
> +parse_makefile_for_sources(std_lib_SOURCES "STD_LIB_OBJS")
>  
>  list(TRANSFORM libgit_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
> +list(TRANSFORM std_lib_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
>  list(TRANSFORM compat_SOURCES PREPEND "${CMAKE_SOURCE_DIR}/")
> -add_library(libgit ${libgit_SOURCES} ${compat_SOURCES})
> +add_library(libgit ${libgit_SOURCES} ${std_lib_SOURCES} ${compat_SOURCES})
>  
>  #libxdiff
>  parse_makefile_for_sources(libxdiff_SOURCES "XDIFF_OBJS")
>
> base-commit: c9e04a1e1f954dd60b1373f75b710f64d34e502b

```

## Junio C Hamano, 2024-02-27 23:10

Subject: Re: [PATCH] cmake: adapt to the Git Standard Library
Message-ID: <xmqq8r35o657.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq8r35o657.fsf%40gitster.g
In-Reply-To: <xmqqcyshsqcf.fsf@gitster.g>

```
Junio C Hamano <gitster@pobox.com> writes:

> "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
> writes:
>
>> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>>
>> In the commit "git-std-lib: introduce Git Standard Library" of the
>> `cw/git-std-lib` topic, the Makefile was restructured in a manner that
>> requires the CMake definition to follow suit to be able to build Git.
>>
>> This commit adjusts the CMake definition accordingly.
>>
>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>> ---
>>     cmake: adapt to the Git Standard Library
>>     
>>     The usual CMake adjustments. This is based on cw/git-std-lib.
>
> Thanks for a fix.
>
> std-lib folks, can you fold this patch (with authorship credits
> intact) into your series when it gets rerolled from here on?

Forgot to Cc: folks who can take care of this for me.

```

## Calvin Wan, 2024-02-27 23:14

Subject: Re: [PATCH] cmake: adapt to the Git Standard Library
Message-ID: <CAFySSZC50Avdq=P0HY7gKZ7Rts47c4oTCr04RFVkWKK9_h86DA@mail.gmail.com>
URL: https://gitlist.dev/e/CAFySSZC50Avdq%3DP0HY7gKZ7Rts47c4oTCr04RFVkWKK9_h86DA%40mail.gmail.com
In-Reply-To: <xmqq8r35o657.fsf@gitster.g>

```
> > std-lib folks, can you fold this patch (with authorship credits
> > intact) into your series when it gets rerolled from here on?

Will do. Thanks Johannes for the fix!

```
