Skip to content

Commit

Permalink
Use different MSBuild features to Copy plctag.dll to output folder
Browse files Browse the repository at this point in the history
  • Loading branch information
timyhac committed Jul 16, 2024
1 parent 9ab6817 commit 1e8e8e4
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 14 deletions.
8 changes: 5 additions & 3 deletions build/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@ class Build : NukeBuild
foreach (var proj in testsNetFramework)
{
var outDir = proj.GetMSBuildProject(Configuration).GetPropertyValue("OutputPath");
var assembly = proj.Directory / outDir / proj.Name + ".dll";
NuGetTasks.NuGetRestore(s => s
.SetTargetPath(proj)
.SetPackagesDirectory(PackageRestoreDirectory)
Expand All @@ -96,16 +99,15 @@ class Build : NukeBuild
DotNetMSBuild(s => s
.SetTargetPath(proj)
.SetConfiguration(Configuration)
.SetBinaryLog(assembly + ".binlog") // VIew with https://msbuildlog.com/
);
var outDir = proj.GetMSBuildProject(Configuration).GetPropertyValue("OutputPath");
var assembly = proj.Directory / outDir / proj.Name + ".dll";
VSTestTasks.VSTest(assembly.ToString());
}
foreach (var proj in testsNetCore)
{
DotNetRestore(s => s
.SetProjectFile(proj)
.SetPackageDirectory(PackageRestoreDirectory)
Expand Down
2 changes: 1 addition & 1 deletion src/libplctag.NativeImport/libplctag.NativeImport.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<TargetFrameworks>netstandard2.0;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net47;net471;net472;net48;net481</TargetFrameworks>
<AssemblyName>libplctag.NativeImport</AssemblyName>
<RootNamespace>libplctag.NativeImport</RootNamespace>
<PackageId>libplctag.NativeImport</PackageId>
Expand Down
21 changes: 11 additions & 10 deletions src/libplctag.NativeImport/libplctag.NativeImport.targets
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" Condition=" '$(Platform)' == 'x86' ">
<Message Text="Copying libplctag native libraries for $(Platform) into $(OutDir)" Importance="high" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\plctag.dll" DestinationFolder="$(OutDir)"></Copy>
<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" >
<Message Text="TargetFrameworkVersion:$(TargetFrameworkVersion) TargetFramework:$(TargetFramework) Platform:$(Platform)" Importance="high" />
</Target>

<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" Condition=" '$(Platform)' == 'x86' ">
<Message Text="Copying libplctag native libraries for $(Platform) into $(OutDir)" Importance="high" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\plctag.dll" DestinationFolder="$(OutDir)"></Copy>
<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" Condition=" ('$(TargetFrameworkIdentifier)' == '.NETFramework') AND '$(Platform)' == 'x86' ">
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\plctag.dll" DestinationFolder="$(OutDir)" />
</Target>

<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" Condition=" '$(Platform)' == 'AnyCPU' ">
<Message Text="Copying libplctag native libraries for $(Platform) into $(OutDir)" Importance="high" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\plctag.dll" DestinationFolder="$(OutDir)X86\"></Copy>
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\plctag.dll" DestinationFolder="$(OutDir)X64\"></Copy>
<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" Condition=" ('$(TargetFrameworkIdentifier)' == '.NETFramework') AND '$(Platform)' == 'x86' ">
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\plctag.dll" DestinationFolder="$(OutDir)" />
</Target>

<Target Name="LibplctagNetFrameworkTarget" AfterTargets="Build" Condition=" ('$(TargetFrameworkIdentifier)' == '.NETFramework') AND ('$(Platform)' == 'AnyCPU') ">
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\plctag.dll" DestinationFolder="$(OutDir)X86\" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\plctag.dll" DestinationFolder="$(OutDir)X64\" />
</Target>

</Project>

0 comments on commit 1e8e8e4

Please sign in to comment.