Hi, On Wed, 30 Sep 2020, Johannes Schindelin via GitGitGadget wrote: > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > 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@xxxxxx> > > 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 > --- > 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 > > >