mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
vcxproj: also link-or-copy builtins
The default location for `.exe` files linked by Visual Studio depends on the mode (debug vs release) and the architecture. Meaning: after a full build, there is a `git.exe` in the top-level directory, but none of the built-ins are linked.. When running a test script in Git Bash, it therefore would pick up the wrong, say, `git-receive-pack.exe`: the one installed at the same time as the Git Bash. Absolutely not what we want. We want to have confidence that our test covers the MSVC-built Git executables, and not some random stuff. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
976aaedca0
commit
b18ae14a8f
|
@ -703,6 +703,21 @@ vcxproj:
|
||||||
perl contrib/buildsystems/generate -g Vcxproj
|
perl contrib/buildsystems/generate -g Vcxproj
|
||||||
git add -f git.sln {*,*/lib,t/helper/*}/*.vcxproj
|
git add -f git.sln {*,*/lib,t/helper/*}/*.vcxproj
|
||||||
|
|
||||||
|
# Generate the LinkOrCopyBuiltins.targets file
|
||||||
|
(echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' && \
|
||||||
|
echo ' <Target Name="CopyBuiltins_AfterBuild" AfterTargets="AfterBuild">' && \
|
||||||
|
for name in $(BUILT_INS);\
|
||||||
|
do \
|
||||||
|
echo ' <Copy SourceFiles="$$(OutDir)\git.exe" DestinationFiles="$$(OutDir)\'"$$name"'" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" />'; \
|
||||||
|
done && \
|
||||||
|
for name in $(REMOTE_CURL_ALIASES); \
|
||||||
|
do \
|
||||||
|
echo ' <Copy SourceFiles="$$(OutDir)\'"$(REMOTE_CURL_PRIMARY)"'" DestinationFiles="$$(OutDir)\'"$$name"'" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" />'; \
|
||||||
|
done && \
|
||||||
|
echo ' </Target>' && \
|
||||||
|
echo '</Project>') >git/LinkOrCopyBuiltins.targets
|
||||||
|
git add -f git/LinkOrCopyBuiltins.targets
|
||||||
|
|
||||||
# Add command-list.h
|
# Add command-list.h
|
||||||
$(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 command-list.h
|
$(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 command-list.h
|
||||||
git add -f command-list.h
|
git add -f command-list.h
|
||||||
|
|
|
@ -274,6 +274,9 @@ sub createProject {
|
||||||
</Target>
|
</Target>
|
||||||
EOM
|
EOM
|
||||||
}
|
}
|
||||||
|
if ($target eq 'git') {
|
||||||
|
print F " <Import Project=\"LinkOrCopyBuiltins.targets\" />\n";
|
||||||
|
}
|
||||||
print F << "EOM";
|
print F << "EOM";
|
||||||
</Project>
|
</Project>
|
||||||
EOM
|
EOM
|
||||||
|
|
Loading…
Reference in a new issue