Re: [PATCH 6/6] vcxproj: adjust for the reftable changes
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 4, 2020, 17:12 UTC
- Message-ID
- <xmqqbln3hbe7.fsf@gitster.c.googlers.com>
- In-Reply-To
- <d05b9b9a2e0a49b1bacf0dafb99d36cd213181dc.1588599086.git.gitgitgadget@gmail.com>
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 50 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> This allows Git to be compiled via Visual Studio again after integrating
> the `hn/reftable` branch.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> 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.
Show 10 quoted lines
> + 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">