"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > This allows Git to be compiled via Visual Studio again after integrating > the `hn/reftable` branch. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > config.mak.uname | 2 +- > contrib/buildsystems/Generators/Vcxproj.pm | 11 ++++++++++- > 2 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/config.mak.uname b/config.mak.uname > index 0ab8e009383..8a01a0da3f1 100644 > --- a/config.mak.uname > +++ b/config.mak.uname > @@ -700,7 +700,7 @@ vcxproj: > # Make .vcxproj files and add them > unset QUIET_GEN QUIET_BUILT_IN; \ > perl contrib/buildsystems/generate -g Vcxproj > - git add -f git.sln {*,*/lib,t/helper/*}/*.vcxproj > + git add -f git.sln {*,*/lib,*/libreftable,t/helper/*}/*.vcxproj > > # Generate the LinkOrCopyBuiltins.targets and LinkOrCopyRemoteHttp.targets file > (echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' && \ > diff --git a/contrib/buildsystems/Generators/Vcxproj.pm b/contrib/buildsystems/Generators/Vcxproj.pm > index 5c666f9ac03..33a08d31652 100644 > --- a/contrib/buildsystems/Generators/Vcxproj.pm > +++ b/contrib/buildsystems/Generators/Vcxproj.pm > @@ -77,7 +77,7 @@ sub createProject { > 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_release = join(";", sort(grep /^(?!libgit\.lib|xdiff\/lib\.lib|vcs-svn\/lib\.lib|reftable\/libreftable\.lib)/, @{$$build_structure{"$prefix${name}_LIBS"}})); > $libs_debug = $libs_release; > $libs_debug =~ s/zlib\.lib/zlibd\.lib/g; > $libs_debug =~ s/libcurl\.lib/libcurl-d\.lib/g; > @@ -231,6 +231,7 @@ sub createProject { > EOM > if (!$static_library || $target =~ 'vcs-svn' || $target =~ 'xdiff') { > my $uuid_libgit = $$build_structure{"LIBS_libgit_GUID"}; > + my $uuid_libreftable = $$build_structure{"LIBS_reftable/libreftable_GUID"}; > my $uuid_xdiff_lib = $$build_structure{"LIBS_xdiff/lib_GUID"}; > > print F << "EOM"; > @@ -240,6 +241,14 @@ sub createProject { > <ReferenceOutputAssembly>false</ReferenceOutputAssembly> > </ProjectReference> > EOM > + if (!($name =~ /xdiff|libreftable/)) { Wow. That is messy. I find it somewhat funny that this is not just libreftable, i.e. "don't include/refer to libreftable in itself", but as long as it works, I won't complain ;-) Thanks for helping the tip of 'pu' moving forward. > + print F << "EOM"; > + <ProjectReference Include="$cdup\\reftable\\libreftable\\libreftable.vcxproj"> > + <Project>$uuid_libreftable</Project> > + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> > + </ProjectReference> > +EOM > + } > if (!($name =~ 'xdiff')) { > print F << "EOM"; > <ProjectReference Include="$cdup\\xdiff\\lib\\xdiff_lib.vcxproj">