90 lines
4.3 KiB
XML
90 lines
4.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<UsingTask TaskName="MakeRelative" AssemblyFile="$(CLIBuildDll)" />
|
|
|
|
<Target DependsOnTargets="Init" Name="SetupLayoutInputsOutputs" >
|
|
<PropertyGroup>
|
|
<LayoutDirectory>$(IntermediateDirectory)/layouts</LayoutDirectory>
|
|
|
|
<SdkLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdk)</SdkLayoutOutputDirectory>
|
|
<SdkDebugLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkDebug)</SdkDebugLayoutOutputDirectory>
|
|
<CombinedHostHostFxrFrameworkSdkOutputDirectory>$(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</CombinedHostHostFxrFrameworkSdkOutputDirectory>
|
|
<CombinedFrameworkSdkOutputDirectory>$(LayoutDirectory)/$(ArtifactNameCombinedFrameworkSdk)</CombinedFrameworkSdkOutputDirectory>
|
|
</PropertyGroup>
|
|
|
|
<!-- Set up Items with Layout Input Files -->
|
|
<ItemGroup>
|
|
<SdkLayoutInput Include="$(OutputDirectory)/sdk/**/*" />
|
|
<SdkDebugLayoutInput Include="$(Stage2SymbolsDirectory)/sdk/**/*" />
|
|
<CombinedHostHostFxrFrameworkSdkInput Include="$(OutputDirectory)/**/*" />
|
|
<CombinedFrameworkSdkInput Include="$(OutputDirectory)/shared/**/*" />
|
|
<CombinedFrameworkSdkInput Include="$(OutputDirectory)/sdk/**/*" />
|
|
</ItemGroup>
|
|
|
|
<MakeRelative
|
|
Path1="$(OutputDirectory)"
|
|
Path2="%(SdkLayoutInput.Identity)" >
|
|
<Output TaskParameter="RelativePath" ItemName="SdkRelativeOutputFiles" />
|
|
</MakeRelative>
|
|
<MakeRelative
|
|
Path1="$(Stage2SymbolsDirectory)"
|
|
Path2="%(SdkDebugLayoutInput.Identity)" >
|
|
<Output TaskParameter="RelativePath" ItemName="SdkDebugRelativeOutputFiles" />
|
|
</MakeRelative>
|
|
<MakeRelative
|
|
Path1="$(OutputDirectory)"
|
|
Path2="%(CombinedHostHostFxrFrameworkSdkInput.Identity)" >
|
|
<Output TaskParameter="RelativePath" ItemName="CombinedHostHostFxrFrameworkSdkRelativeOutputFiles" />
|
|
</MakeRelative>
|
|
<MakeRelative
|
|
Path1="$(OutputDirectory)"
|
|
Path2="%(CombinedFrameworkSdkInput.Identity)" >
|
|
<Output TaskParameter="RelativePath" ItemName="CombinedFrameworkSdkOutputFiles" />
|
|
</MakeRelative>
|
|
|
|
<!-- Set up Items Defining Layouts for easy change -->
|
|
<ItemGroup>
|
|
<LayoutDefinition Include="Sdk">
|
|
<InputFiles>@(SdkLayoutInput)</InputFiles>
|
|
<OutputFiles>@(SdkRelativeOutputFiles -> '$(SdkLayoutOutputDirectory)/%(Identity)')</OutputFiles>
|
|
<NameWithVersion>$(ArtifactNameWithVersionSdk)</NameWithVersion>
|
|
<Name>$(ArtifactNameSdk)</Name>
|
|
</LayoutDefinition>
|
|
|
|
<LayoutDefinition Include="Debug">
|
|
<InputFiles>@(SdkDebugLayoutInput)</InputFiles>
|
|
<OutputFiles>@(SdkDebugRelativeOutputFiles -> '$(SdkDebugLayoutOutputDirectory)/%(Identity)')</OutputFiles>
|
|
<NameWithVersion>$(ArtifactNameWithVersionSdkDebug)</NameWithVersion>
|
|
<Name>$(ArtifactNameSdkDebug)</Name>
|
|
</LayoutDefinition>
|
|
|
|
<LayoutDefinition Include="CombinedHostHostFxrFrameworkSdk">
|
|
<InputFiles>@(CombinedHostHostFxrFrameworkSdkInput)</InputFiles>
|
|
<OutputFiles>@(CombinedHostHostFxrFrameworkSdkRelativeOutputFiles -> '$(CombinedHostHostFxrFrameworkSdkOutputDirectory)/%(Identity)')</OutputFiles>
|
|
<NameWithVersion>$(ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)</NameWithVersion>
|
|
<Name>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</Name>
|
|
</LayoutDefinition>
|
|
|
|
<LayoutDefinition Include="CombinedFrameworkSdk">
|
|
<InputFiles>@(CombinedFrameworkSdkInput)</InputFiles>
|
|
<OutputFiles>@(CombinedFrameworkSdkOutputFiles -> '$(CombinedFrameworkSdkOutputDirectory)/%(Identity)')</OutputFiles>
|
|
<NameWithVersion>$(ArtifactNameWithVersionCombinedFrameworkSdk)</NameWithVersion>
|
|
<Name>$(ArtifactNameCombinedFrameworkSdk)</Name>
|
|
</LayoutDefinition>
|
|
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="Layout"
|
|
DependsOnTargets="Init;SetupLayoutInputsOutputs"
|
|
Inputs="@(LayoutDefinition -> '%(InputFiles)')"
|
|
Outputs="@(LayoutDefinition -> '%(OutputFiles)')" >
|
|
|
|
<!-- Copy Files to layout directories based on defintiions -->
|
|
<Copy SourceFiles="%(LayoutDefinition.InputFiles)"
|
|
DestinationFiles="%(LayoutDefinition.OutputFiles)"
|
|
SkipUnchangedFiles="true" />
|
|
</Target>
|
|
|
|
</Project>
|