Skip to content

Commit be679f1

Browse files
dschoGit for Windows Build Agent
authored and
Git for Windows Build Agent
committed
Merge pull request #1304 from jeffhostetler/vs2017_vcpkg
VS2017 vcpkg support.
2 parents 7d1128a + 4d90581 commit be679f1

18 files changed

+506
-563
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*.pm eol=lf diff=perl
77
*.png binary
88
*.py eol=lf diff=python
9+
*.bat eol=crlf
910
/Documentation/git-*.txt eol=lf
1011
/command-list.txt eol=lf
1112
/GIT-VERSION-GEN eol=lf

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/GIT-BUILD-OPTIONS
22
/GIT-CFLAGS
33
/GIT-LDFLAGS
4-
/GIT-MSVC-GEN
54
/GIT-PREFIX
65
/GIT-PERL-DEFINES
76
/GIT-PERL-HEADER

.nuget/NuGet.config

Lines changed: 0 additions & 6 deletions
This file was deleted.

Makefile

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2604,9 +2604,6 @@ ifdef GIT_INTEROP_MAKE_OPTS
26042604
endif
26052605
ifdef TEST_GIT_INDEX_VERSION
26062606
@echo TEST_GIT_INDEX_VERSION=\''$(subst ','\'',$(subst ','\'',$(TEST_GIT_INDEX_VERSION)))'\' >>$@+
2607-
endif
2608-
ifdef MSVC_DEPS
2609-
@echo MSVC_DEPS=\''$(subst ','\'',$(subst ','\'',$(MSVC_DEPS)))'\' >>$@+
26102607
endif
26112608
@if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
26122609

@@ -2756,8 +2753,6 @@ install: all
27562753
$(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
27572754
$(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)'
27582755
ifdef MSVC
2759-
$(INSTALL) compat/vcbuild/GEN.DEPS/bin/*.dll '$(DESTDIR_SQ)$(bindir_SQ)'
2760-
$(INSTALL) compat/vcbuild/GEN.DEPS/bin/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
27612756
# We DO NOT install the individual foo.o.pdb files because they
27622757
# have already been rolled up into the exe's pdb file.
27632758
# We DO NOT have pdb files for the builtin commands (like git-status.exe)
@@ -2776,6 +2771,13 @@ ifdef MSVC
27762771
$(INSTALL) git-remote-testsvn.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
27772772
$(INSTALL) git-sh-i18n--envsubst.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
27782773
$(INSTALL) git-show-index.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2774+
ifndef DEBUG
2775+
$(INSTALL) $(vcpkg_rel_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)'
2776+
$(INSTALL) $(vcpkg_rel_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2777+
else
2778+
$(INSTALL) $(vcpkg_dbg_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)'
2779+
$(INSTALL) $(vcpkg_dbg_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
2780+
endif
27792781
endif
27802782
$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
27812783
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'
@@ -2980,9 +2982,15 @@ endif
29802982
ifdef MSVC
29812983
$(RM) $(patsubst %.o,%.o.pdb,$(OBJECTS))
29822984
$(RM) $(patsubst %.exe,%.pdb,$(OTHER_PROGRAMS))
2985+
$(RM) $(patsubst %.exe,%.iobj,$(OTHER_PROGRAMS))
2986+
$(RM) $(patsubst %.exe,%.ipdb,$(OTHER_PROGRAMS))
29832987
$(RM) $(patsubst %.exe,%.pdb,$(PROGRAMS))
2988+
$(RM) $(patsubst %.exe,%.iobj,$(PROGRAMS))
2989+
$(RM) $(patsubst %.exe,%.ipdb,$(PROGRAMS))
29842990
$(RM) $(patsubst %.exe,%.pdb,$(TEST_PROGRAMS))
2985-
$(RM) GIT-MSVC-GEN
2991+
$(RM) $(patsubst %.exe,%.iobj,$(TEST_PROGRAMS))
2992+
$(RM) $(patsubst %.exe,%.ipdb,$(TEST_PROGRAMS))
2993+
$(RM) compat/vcbuild/MSVC-DEFS-GEN
29862994
endif
29872995

29882996
.PHONY: all install profile-clean cocciclean clean strip

compat/vcbuild/.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
GEN.*
1+
/vcpkg/
2+
/MSVC-DEFS-GEN
3+
/VCPKG-DEFS

compat/vcbuild/Makefile

Lines changed: 0 additions & 147 deletions
This file was deleted.

compat/vcbuild/README

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,54 @@
1+
The Steps to Build Git with VS2015 or VS2017 from the command line.
2+
3+
1. Install the "vcpkg" open source package manager and build essential
4+
third-party libaries. The steps for this have been captured in a
5+
set of convenience scripts. These can be run from a stock Command
6+
Prompt or from an SDK bash window:
7+
8+
$ cd <repo_root>
9+
$ ./compat/vcbuild/vcpkg_install.bat
10+
11+
The vcpkg tools and all of the third-party sources will be installed
12+
in this folder:
13+
<repo_root>/compat/vcbuild/vcpkg/
14+
15+
A file will be created with a set of Makefile macros pointing to a
16+
unified "include", "lib", and "bin" directory (release and debug) for
17+
all of the required packages. This file will be included by the main
18+
Makefile:
19+
<repo_root>/compat/vcbuild/MSVC-DEFS-GEN
20+
21+
2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo
22+
root to make it easier to run and debug git.exe without having to
23+
manipulate your PATH. This is especially true for debug sessions in
24+
Visual Studio.
25+
26+
Use ONE of the following forms which should match how you want to
27+
compile git.exe.
28+
29+
$ ./compat/vcbuild/vcpkg_copy_packages.bat debug
30+
$ ./compat/vcbuild/vcpkg_copy_packages.bat release
31+
32+
3. Build git using MSVC from an SDK bash window using one of the
33+
following commands:
34+
35+
$ make MSVC=1
36+
$ make MSVC=1 DEBUG=1
37+
38+
================================================================
39+
40+
Alternatively, run `make MSVC=1 vcxproj` and then load the generated
41+
git.sln in Visual Studio. The initial build will install the vcpkg
42+
system and build the dependencies automatically. This will take a while.
43+
44+
Note that this will automatically add and commit the generated
45+
.sln and .vcxproj files to the repo. You may want to drop this
46+
commit before submitting a Pull Request....
47+
48+
Or maybe we should put the .sln/.vcxproj files in the .gitignores
49+
and not do this. I'm not sure.
50+
51+
================================================================
152
The Steps of Build Git with VS2008
253

354
1. You need the build environment, which contains the Git dependencies

compat/vcbuild/README_VS2015.txt

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)