Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric St. John <ericstj@microsoft.com>2017-02-02 00:41:56 +0300
committerEric St. John <ericstj@microsoft.com>2017-02-02 05:27:15 +0300
commit36a7f40e06aa5bd2bb04afe14f23f32aca8a68b7 (patch)
tree1073f81cdd0a9e373a68d066b3ce507bb514b3a4 /binplace.targets
parent8216d8e1603546bbe88a26e148be4bb54d8f1f67 (diff)
Make external use binplacing
This switches the external dir to binplace rather than copy to output. This is more flexible as it will conditionally binplace to many locations based on what's needed for the configuration.
Diffstat (limited to 'binplace.targets')
-rw-r--r--binplace.targets22
1 files changed, 14 insertions, 8 deletions
diff --git a/binplace.targets b/binplace.targets
index 6621c721c8..6f3d155784 100644
--- a/binplace.targets
+++ b/binplace.targets
@@ -11,7 +11,7 @@
<BinPlaceStuffDependsOn Condition="'$(IsRuntimeAssembly)' == 'true' OR '$(IsRuntimeAndReferenceAssembly)' == 'true'">$(BinPlaceStuffDependsOn);BinPlaceRuntimeAssembly</BinPlaceStuffDependsOn>
</PropertyGroup>
- <ItemGroup>
+ <ItemGroup Condition="'@(BinplaceConfiguration)' == ''">
<BinplaceConfiguration Include="$(BuildConfiguration)">
<RefPath>$(BuildConfigurationRefPath)</RefPath>
<RuntimePath>$(RuntimePath)</RuntimePath>
@@ -31,22 +31,28 @@
<Message Importance="low" Text="IsRuntimeAndReferenceAssembly: $(IsRuntimeAndReferenceAssembly)" />
</Target>
- <Target Name="BinPlaceReferenceAssembly" DependsOnTargets="GetBinplaceDirs">
+ <Target Name="BinPlaceReferenceAssembly" DependsOnTargets="GetBinplaceDirs;GetBinplaceItems">
<Message Importance="low" Text="TargetingPackDir: @(TargetingPackDir)" />
- <Copy Condition="'@(TargetingPackDir)' != ''" SourceFiles="$(TargetPath)" DestinationFolder="%(TargetingPackDir.Identity)" >
+ <Copy Condition="'@(TargetingPackDir)' != ''" SourceFiles="@(BinplaceItem)" DestinationFolder="%(TargetingPackDir.Identity)" >
<Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
</Copy>
</Target>
- <Target Name="BinPlaceRuntimeAssembly" DependsOnTargets="GetBinplaceDirs">
- <Copy Condition="'@(RuntimeDir)' != ''" SourceFiles="$(TargetPath)" DestinationFolder="%(RuntimeDir.Identity)">
- <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
- </Copy>
- <Copy Condition="'@(RuntimeDir)' != '' And Exists($(TargetPath.Replace('.dll', '.pdb')))" SourceFiles="$(TargetPath.Replace('.dll', '.pdb'))" DestinationFolder="%(RuntimeDir.Identity)">
+ <Target Name="BinPlaceRuntimeAssembly" DependsOnTargets="GetBinplaceDirs;GetBinplaceItems">
+ <Copy Condition="'@(RuntimeDir)' != ''" SourceFiles="@(BinplaceItem)" DestinationFolder="%(RuntimeDir.Identity)">
<Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
</Copy>
</Target>
+ <Target Name="GetBinplaceItems" DependsOnTargets="GetCopyToOutputDirectoryItems">
+ <ItemGroup>
+ <BinplaceItem Condition="Exists('$(TargetPath)')" Include="$(TargetPath)" />
+ <BinplaceItem Condition="Exists('$(TargetDir)$(TargetName).pdb')" Include="$(TargetDir)$(TargetName).pdb" />
+ <BinplaceItem Condition="'$(BinplaceReferenceCopyLocalPaths)' != 'false'" Include="@(ReferenceCopyLocalPaths)" />
+ <BinplaceItem Condition="'$(BinplaceCopyToOutputDirectoryItems)' != 'false'" Include="@(AllItemsFullPathWithTargetPath)" />
+ </ItemGroup>
+ </Target>
+
<Target Name="GetBinplaceDirs" DependsOnTargets="GetBuildConfigurations">
<!-- find which, if any, build configuration of this project is best
for each binplace configuration -->