1
0
mirror of https://github.com/DarthAffe/CUE.NET.git synced 2025-12-12 16:58:29 +00:00
CUE.NET/CUE.NET.targets

133 lines
5.1 KiB
XML

<!--
* Build targets hacked from SQLite (thanks!), please rename all of this when you're feeling brave
* System.Data.SQLite.Core.targets -
*
*
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
******************************************************************************
** SQLite Interop Library Build Items **
******************************************************************************
-->
<ItemGroup>
<SQLiteInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And
HasTrailingSlash('$(MSBuildThisFileDirectory)')"
Include="$(MSBuildThisFileDirectory)\libs\*.dll" />
<SQLiteInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And
HasTrailingSlash('$(MSBuildThisFileDirectory)')"
Include="$(MSBuildThisFileDirectory)\*.dll" />
</ItemGroup>
<!--
******************************************************************************
** SQLite Interop Library Content Items **
******************************************************************************
-->
<ItemGroup Condition="'$(ContentSQLiteInteropFiles)' != '' And
'$(ContentSQLiteInteropFiles)' != 'false' And
'@(SQLiteInteropFiles)' != ''">
<Content Include="@(SQLiteInteropFiles)">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<!--
******************************************************************************
** SQLite Interop Library Build Targets **
******************************************************************************
-->
<Target Name="CopySQLiteInteropFiles"
Condition="'$(CopySQLiteInteropFiles)' != 'false' And
'$(OutDir)' != '' And
HasTrailingSlash('$(OutDir)') And
Exists('$(OutDir)')"
Inputs="@(SQLiteInteropFiles)"
Outputs="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')">
<!--
NOTE: Copy "SQLite.Interop.dll" and all related files, for every
architecture that we support, to the build output directory.
-->
<Message Text="Copying Interop files..." Importance="high" />
<Copy SourceFiles="@(SQLiteInteropFiles)"
DestinationFiles="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<!--
******************************************************************************
-->
<Target Name="CleanSQLiteInteropFiles"
Condition="'$(CleanSQLiteInteropFiles)' != 'false' And
'$(OutDir)' != '' And
HasTrailingSlash('$(OutDir)') And
Exists('$(OutDir)')">
<!--
NOTE: Delete "SQLite.Interop.dll" and all related files, for every
architecture that we support, from the build output directory.
-->
<Message Text="this file $(MSBuildThisFileDirectory)" Importance="high"/>
<Message Text="Cleaning Interop files..." Importance="high" />
<Delete Files="@(SQLiteInteropFiles -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<!--
******************************************************************************
-->
<Target Name="CollectSQLiteInteropFiles"
Condition="'$(CollectSQLiteInteropFiles)' != 'false'">
<Message Text="Collecting Interop files..." Importance="high" />
<ItemGroup>
<FilesForPackagingFromProject Include="@(SQLiteInteropFiles)">
<DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
<!--
******************************************************************************
** SQLite Interop Library Build Properties **
******************************************************************************
-->
<PropertyGroup>
<PostBuildEventDependsOn>
$(PostBuildEventDependsOn);
CopySQLiteInteropFiles;
</PostBuildEventDependsOn>
<BuildDependsOn>
$(BuildDependsOn);
CopySQLiteInteropFiles;
</BuildDependsOn>
<CleanDependsOn>
$(CleanDependsOn);
CleanSQLiteInteropFiles;
</CleanDependsOn>
</PropertyGroup>
<!--
******************************************************************************
** SQLite Interop Library Publish Properties for Visual Studio 201x **
******************************************************************************
-->
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' Or
'$(VisualStudioVersion)' == '10.0' Or
'$(VisualStudioVersion)' == '11.0' Or
'$(VisualStudioVersion)' == '12.0'">
<PipelineCollectFilesPhaseDependsOn>
CollectSQLiteInteropFiles;
$(PipelineCollectFilesPhaseDependsOn);
</PipelineCollectFilesPhaseDependsOn>
</PropertyGroup>
</Project>