From b9deee1225e4f1c43e897a5752f463065a8ba49a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 4 Apr 2018 11:49:47 +0200 Subject: [PATCH 1/3] fixup! vcxproj: automatically initialize the vcpkg system The three static libraries (libgit, xdiff and vcs-svn) do not rely on any vcpkg-generated libraries, and therefore the entry is empty. Visual Studio likes to insert a line break into such empty entries, so we should, too. Signed-off-by: Johannes Schindelin --- contrib/buildsystems/Generators/Vcxproj.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/buildsystems/Generators/Vcxproj.pm b/contrib/buildsystems/Generators/Vcxproj.pm index ea5cf07f231e0f..ee400238bbf39a 100644 --- a/contrib/buildsystems/Generators/Vcxproj.pm +++ b/contrib/buildsystems/Generators/Vcxproj.pm @@ -74,8 +74,8 @@ sub createProject { $cflags =~ s//>/g; - my $libs_release = ''; - my $libs_debug = ''; + my $libs_release = "\n "; + my $libs_debug = "\n "; if (!$static_library) { $libs_release = join(";", sort(grep /^(?!libgit\.lib|xdiff\/lib\.lib|vcs-svn\/lib\.lib)/, @{$$build_structure{"$prefix${name}_LIBS"}})); $libs_debug = $libs_release; From 8b3ed721bdc2a97299ff36ed731c9a5a4bc7e34b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 4 Apr 2018 11:54:23 +0200 Subject: [PATCH 2/3] fixup! msvc: add a Makefile target to pre-generate the VS solution The Perl project is now built without using MakeMaker, and therefore the way we need to build vcxproj changed, too. Signed-off-by: Johannes Schindelin --- config.mak.uname | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.mak.uname b/config.mak.uname index ac904c8a5ce1d0..bfb75d678e845a 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -746,8 +746,8 @@ vcxproj: git add -f $(SCRIPT_LIB) $(SCRIPT_SH_GEN) $(SCRIPT_PERL_GEN) # Add Perl module - $(MAKE) -C perl - git add -f perl/blib/lib + $(MAKE) $(LIB_PERL_GEN) + git add -f perl/build # Add bin-wrappers, for testing rm -rf bin-wrappers/ From f93adde67cb5989c61a5276884e7e55621870888 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 4 Apr 2018 11:59:41 +0200 Subject: [PATCH 3/3] fixup! vcxproj: let vcs-svn depend on libgit We really need to let vcs-svn depend on libgit... And the target name is currently `vcs-svn/lib`. Let's be a little bit more lenient and search for the substring `vcs-svn`, just in case that the exact target will change in the future. Signed-off-by: Johannes Schindelin --- contrib/buildsystems/Generators/Vcxproj.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/buildsystems/Generators/Vcxproj.pm b/contrib/buildsystems/Generators/Vcxproj.pm index ee400238bbf39a..50d3c625c17b49 100644 --- a/contrib/buildsystems/Generators/Vcxproj.pm +++ b/contrib/buildsystems/Generators/Vcxproj.pm @@ -227,7 +227,7 @@ EOM print F << "EOM"; EOM - if (!$static_library || $target eq 'vcs-svn') { + if (!$static_library || $target =~ 'vcs-svn') { my $uuid_libgit = $$build_structure{"LIBS_libgit_GUID"}; my $uuid_xdiff_lib = $$build_structure{"LIBS_xdiff/lib_GUID"};