Re: [PATCH v4 08/10] cmake (Windows): initialize vcpkg/build dependencies automatically
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Sep 30, 2020, 19:17 UTC
- Message-ID
- <nycvar.QRO.7.76.6.2009302117220.50@tvgsbejvaqbjf.bet>
- In-Reply-To
- <14ddfc17815d68f2f32aebbc4b0ecb3ce6f25dc1.1601479585.git.gitgitgadget@gmail.com>
Hi,
On Wed, 30 Sep 2020, Johannes Schindelin via GitGitGadget wrote:
Show 28 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > > The idea of having CMake support in Git's source tree is to enable > contributors on Windows to start contributing with little effort. To > that end, we just added some sensible defaults that will let users open > the worktree in Visual Studio and start building. > > This expects the dependencies (such as zlib) to be available already, > though. If they are not available, we expect the user to run > `compat/vcbuild/vcpkg_install.bat`. > > Rather than requiring this step to be manual, detect the situation and > run it as part of the CMake configuration step. > > Note that this obviously only applies to the scenario when we want to > compile in Visual Studio (i.e. with MS Visual C), not with GCC. > Therefore, we guard this new code block behind the `MSVC` conditional. > > This concludes our journey to make it as effortless as possible to start > developing Git in Visual Studio: all the developer needs to do is to > clone Git's repository, open the worktree via `File>Open>Folder...` and > wait for CMake to finish configuring. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > > squash! cmake (Windows): initialize vcpkg/build dependencies automatically > > MSVC
Aaargh! This was of course meant to be deleted after rewording the commit message :-(
Sorry about that, Dscho
Show 24 quoted lines
> ---
> contrib/buildsystems/CMakeLists.txt | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
> index 78b90abe5e..ebadae2271 100644
> --- a/contrib/buildsystems/CMakeLists.txt
> +++ b/contrib/buildsystems/CMakeLists.txt
> @@ -42,6 +42,10 @@ cmake_minimum_required(VERSION 3.14)
> set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
> if(WIN32)
> set(VCPKG_DIR "${CMAKE_SOURCE_DIR}/compat/vcbuild/vcpkg")
> + if(MSVC AND NOT EXISTS ${VCPKG_DIR})
> + message("Initializing vcpkg and building the Git's dependencies (this will take a while...)")
> + execute_process(COMMAND ${CMAKE_SOURCE_DIR}/compat/vcbuild/vcpkg_install.bat)
> + endif()
> list(APPEND CMAKE_PREFIX_PATH "${VCPKG_DIR}/installed/x64-windows")
>
> # In the vcpkg edition, we need this to be able to link to libcurl
> --
> gitgitgadget
>
>
>