]> git.ipfire.org Git - thirdparty/git.git/commitdiff
cmake(windows): set correct path to the system Git config
authorDennis Ameling <dennis@dennisameling.com>
Tue, 22 Jun 2021 10:46:47 +0000 (10:46 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 29 Jun 2021 03:11:50 +0000 (20:11 -0700)
Currently, when Git for Windows is built with CMake, the system Git config is
expected in a different location than when building via `make`: the former
expects it to be in `<runtime-prefix>/mingw64/etc/gitconfig`, the latter in
`<runtime-prefix>/etc/gitconfig`.

Because of this, things like `git clone` do not work correctly (because cURL is
no longer able to find its certificate bundle that it needs to validate HTTPS
certificates). See the full bug report and discussion here:
https://github.com/git-for-windows/git/issues/3071#issuecomment-789261386.

This commit aligns the CMake-based build by mimicking what is already done in
`config.mak.uname`.

This closes https://github.com/git-for-windows/git/issues/3071.

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/buildsystems/CMakeLists.txt

index a87841340e6a27f0f482a3e17521e3e03de4074d..bdc5ab58d0386e83247e542eaad97449e869afe1 100644 (file)
@@ -204,8 +204,6 @@ list(APPEND compat_SOURCES sha1dc_git.c sha1dc/sha1.c sha1dc/ubc_check.c block-s
 
 
 add_compile_definitions(PAGER_ENV="LESS=FRX LV=-c"
-                       ETC_GITATTRIBUTES="etc/gitattributes"
-                       ETC_GITCONFIG="etc/gitconfig"
                        GIT_EXEC_PATH="libexec/git-core"
                        GIT_LOCALE_PATH="share/locale"
                        GIT_MAN_PATH="share/man"
@@ -220,10 +218,15 @@ add_compile_definitions(PAGER_ENV="LESS=FRX LV=-c"
 
 if(WIN32)
        set(FALLBACK_RUNTIME_PREFIX /mingw64)
-       add_compile_definitions(FALLBACK_RUNTIME_PREFIX="${FALLBACK_RUNTIME_PREFIX}")
+       # Move system config into top-level /etc/
+       add_compile_definitions(FALLBACK_RUNTIME_PREFIX="${FALLBACK_RUNTIME_PREFIX}"
+               ETC_GITATTRIBUTES="../etc/gitattributes"
+               ETC_GITCONFIG="../etc/gitconfig")
 else()
        set(FALLBACK_RUNTIME_PREFIX /home/$ENV{USER})
-       add_compile_definitions(FALLBACK_RUNTIME_PREFIX="${FALLBACK_RUNTIME_PREFIX}")
+       add_compile_definitions(FALLBACK_RUNTIME_PREFIX="${FALLBACK_RUNTIME_PREFIX}"
+               ETC_GITATTRIBUTES="etc/gitattributes"
+               ETC_GITCONFIG="etc/gitconfig")
 endif()