Browse Source

Simplified targets files to instead use 'Content' elements rather than 'Copy' and 'Delete' tasks. This is important as the copy and delete tasks won't work for other projects referencing a project which uses one of the MathNet nuget packages. Installer projects such as WiX or VS Setup projects similarly won't find the required library files unless they are 'Content'.

cuda
Kuan Bartel 12 years ago
parent
commit
e98be5ede2
  1. 65
      build/MathNet.Numerics.CUDA.Win.targets
  2. 65
      build/MathNet.Numerics.MKL.Win.targets
  3. 65
      build/MathNet.Numerics.OpenBLAS.Win.targets

65
build/MathNet.Numerics.CUDA.Win.targets

@ -8,67 +8,20 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- <!--
****************************************************************************** ******************************************************************************
** MathNet Interop Library Build Items ** ** MathNet Interop Library Files **
****************************************************************************** ******************************************************************************
--> -->
<ItemGroup> <ItemGroup Condition="'$(MSBuildThisFileDirectory)' != '' And
<MathNetInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And HasTrailingSlash('$(MSBuildThisFileDirectory)')">
HasTrailingSlash('$(MSBuildThisFileDirectory)')"
Include="$(MSBuildThisFileDirectory)**\*.dll" />
</ItemGroup>
<!--
******************************************************************************
** MathNet Interop Library Build Targets **
******************************************************************************
-->
<Target Name="CopyMathNetInteropFiles"
Condition="'$(CopyMathNetInteropFiles)' != 'false' And
'$(OutputPath)' != '' And
HasTrailingSlash('$(OutputPath)') And
Exists('$(OutputPath)')"
Inputs="@(MathNetInteropFiles)"
Outputs="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')">
<!-- <!--
NOTE: Copy "MathNet.Numerics.CUDA.dll" and all related files, for every NOTE: Copy "MathNet.Numerics.CUDA.dll" and all related files, for every
architecture that we support, to the build output directory. architecture that we support, to the build output directory.
--> -->
<Copy SourceFiles="@(MathNetInteropFiles)" <MathNetInteropFiles Include="$(MSBuildThisFileDirectory)**\*.dll" />
DestinationFiles="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" /> <Content Include="@(MathNetInteropFiles)">
</Target> <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<!-- </Content>
****************************************************************************** </ItemGroup>
-->
<Target Name="CleanMathNetInteropFiles"
Condition="'$(CleanMathNetInteropFiles)' != 'false' And
'$(OutputPath)' != '' And
HasTrailingSlash('$(OutputPath)') And
Exists('$(OutputPath)')">
<!--
NOTE: Delete "MathNet.Numerics.CUDA.dll" and all related files, for every
architecture that we support, from the build output directory.
-->
<Delete Files="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<!--
******************************************************************************
** MathNet Interop Library Build Properties **
******************************************************************************
-->
<PropertyGroup>
<BuildDependsOn>
$(BuildDependsOn);
CopyMathNetInteropFiles;
</BuildDependsOn>
<CleanDependsOn>
$(CleanDependsOn);
CleanMathNetInteropFiles;
</CleanDependsOn>
</PropertyGroup>
</Project> </Project>

65
build/MathNet.Numerics.MKL.Win.targets

@ -8,67 +8,20 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- <!--
****************************************************************************** ******************************************************************************
** MathNet Interop Library Build Items ** ** MathNet Interop Library Files **
****************************************************************************** ******************************************************************************
--> -->
<ItemGroup> <ItemGroup Condition="'$(MSBuildThisFileDirectory)' != '' And
<MathNetInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And HasTrailingSlash('$(MSBuildThisFileDirectory)')">
HasTrailingSlash('$(MSBuildThisFileDirectory)')"
Include="$(MSBuildThisFileDirectory)**\*.dll" />
</ItemGroup>
<!--
******************************************************************************
** MathNet Interop Library Build Targets **
******************************************************************************
-->
<Target Name="CopyMathNetInteropFiles"
Condition="'$(CopyMathNetInteropFiles)' != 'false' And
'$(OutputPath)' != '' And
HasTrailingSlash('$(OutputPath)') And
Exists('$(OutputPath)')"
Inputs="@(MathNetInteropFiles)"
Outputs="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')">
<!-- <!--
NOTE: Copy "MathNet.Numerics.MKL.dll" and all related files, for every NOTE: Copy "MathNet.Numerics.MKL.dll" and all related files, for every
architecture that we support, to the build output directory. architecture that we support, to the build output directory.
--> -->
<Copy SourceFiles="@(MathNetInteropFiles)" <MathNetInteropFiles Include="$(MSBuildThisFileDirectory)**\*.dll" />
DestinationFiles="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" /> <Content Include="@(MathNetInteropFiles)">
</Target> <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<!-- </Content>
****************************************************************************** </ItemGroup>
-->
<Target Name="CleanMathNetInteropFiles"
Condition="'$(CleanMathNetInteropFiles)' != 'false' And
'$(OutputPath)' != '' And
HasTrailingSlash('$(OutputPath)') And
Exists('$(OutputPath)')">
<!--
NOTE: Delete "MathNet.Numerics.MKL.dll" and all related files, for every
architecture that we support, from the build output directory.
-->
<Delete Files="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<!--
******************************************************************************
** MathNet Interop Library Build Properties **
******************************************************************************
-->
<PropertyGroup>
<BuildDependsOn>
$(BuildDependsOn);
CopyMathNetInteropFiles;
</BuildDependsOn>
<CleanDependsOn>
$(CleanDependsOn);
CleanMathNetInteropFiles;
</CleanDependsOn>
</PropertyGroup>
</Project> </Project>

65
build/MathNet.Numerics.OpenBLAS.Win.targets

@ -8,67 +8,20 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- <!--
****************************************************************************** ******************************************************************************
** MathNet Interop Library Build Items ** ** MathNet Interop Library Files **
****************************************************************************** ******************************************************************************
--> -->
<ItemGroup> <ItemGroup Condition="'$(MSBuildThisFileDirectory)' != '' And
<MathNetInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And HasTrailingSlash('$(MSBuildThisFileDirectory)')">
HasTrailingSlash('$(MSBuildThisFileDirectory)')"
Include="$(MSBuildThisFileDirectory)**\*.dll" />
</ItemGroup>
<!--
******************************************************************************
** MathNet Interop Library Build Targets **
******************************************************************************
-->
<Target Name="CopyMathNetInteropFiles"
Condition="'$(CopyMathNetInteropFiles)' != 'false' And
'$(OutputPath)' != '' And
HasTrailingSlash('$(OutputPath)') And
Exists('$(OutputPath)')"
Inputs="@(MathNetInteropFiles)"
Outputs="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')">
<!-- <!--
NOTE: Copy "MathNet.Numerics.OpenBLAS.dll" and all related files, for every NOTE: Copy "MathNet.Numerics.OpenBLAS.dll" and all related files, for every
architecture that we support, to the build output directory. architecture that we support, to the build output directory.
--> -->
<Copy SourceFiles="@(MathNetInteropFiles)" <MathNetInteropFiles Include="$(MSBuildThisFileDirectory)**\*.dll" />
DestinationFiles="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" /> <Content Include="@(MathNetInteropFiles)">
</Target> <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<!-- </Content>
****************************************************************************** </ItemGroup>
-->
<Target Name="CleanMathNetInteropFiles"
Condition="'$(CleanMathNetInteropFiles)' != 'false' And
'$(OutputPath)' != '' And
HasTrailingSlash('$(OutputPath)') And
Exists('$(OutputPath)')">
<!--
NOTE: Delete "MathNet.Numerics.OpenBLAS.dll" and all related files, for every
architecture that we support, from the build output directory.
-->
<Delete Files="@(MathNetInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<!--
******************************************************************************
** MathNet Interop Library Build Properties **
******************************************************************************
-->
<PropertyGroup>
<BuildDependsOn>
$(BuildDependsOn);
CopyMathNetInteropFiles;
</BuildDependsOn>
<CleanDependsOn>
$(CleanDependsOn);
CleanMathNetInteropFiles;
</CleanDependsOn>
</PropertyGroup>
</Project> </Project>

Loading…
Cancel
Save