Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,7 @@ jobs:

- name: Run unit tests windows
if: matrix.os == 'windows-latest'
env:
RuntimeIdentifier: win
run: dotnet test -c ${{ env.configuration }}
run: dotnet test -c ${{ env.configuration }} -p:WChartTarget=win
working-directory: './src'

- name: Build solution
Expand Down
5 changes: 5 additions & 0 deletions src/WCharT.Net.Tests/WCharT.Net.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
<IsPackable>false</IsPackable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<RootNamespace>WCharT.Tests</RootNamespace>

<!-- Enable MTP mode -->
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
</PropertyGroup>

<ItemGroup>
Expand Down
36 changes: 24 additions & 12 deletions src/WCharT.Net/WCharT.Net.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<RootNamespace>WCharT</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

<DefineConstants Condition="'$(RuntimeIdentifier)' == 'win'">$(DefineConstants);TARGET_WINDOWS</DefineConstants>
<DefineConstants Condition="'$(WChartTarget)' == 'win'">$(DefineConstants);TARGET_WINDOWS</DefineConstants>

<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
<IncludeBuildOutput>false</IncludeBuildOutput>
Expand All @@ -35,16 +35,28 @@
<ItemGroup>
<None Include="../../readme.md" Pack="true" PackagePath="/" Visible="false"/>

<None Include="obj/Release/net8.0/ref/WCharT.Net.dll" Pack="true" PackagePath="ref/net8.0" Visible="false"/>
<None Include="bin/Release/net8.0/unix/WCharT.Net.dll" Pack="true" PackagePath="runtimes/unix/lib/net8.0" Visible="false"/>
<None Include="bin/Release/net8.0/win/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win/lib/net8.0" Visible="false"/>

<None Include="obj/Release/net9.0/ref/WCharT.Net.dll" Pack="true" PackagePath="ref/net9.0" Visible="false"/>
<None Include="bin/Release/net9.0/unix/WCharT.Net.dll" Pack="true" PackagePath="runtimes/unix/lib/net9.0" Visible="false"/>
<None Include="bin/Release/net9.0/win/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win/lib/net9.0" Visible="false"/>

<None Include="obj/Release/net10.0/ref/WCharT.Net.dll" Pack="true" PackagePath="ref/net10.0" Visible="false"/>
<None Include="bin/Release/net10.0/unix/WCharT.Net.dll" Pack="true" PackagePath="runtimes/unix/lib/net10.0" Visible="false"/>
<None Include="bin/Release/net10.0/win/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win/lib/net10.0" Visible="false"/>
<None Include="../artifacts/ref/obj/WCharT.Net/release_net8.0/ref/WCharT.Net.dll" Pack="true" PackagePath="ref/net8.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net8.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/linux-x64/lib/net8.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net8.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/linux-arm64/lib/net8.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net8.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/osx-x64/lib/net8.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net8.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/osx-arm64/lib/net8.0" Visible="false"/>
<None Include="../artifacts/bin/win/bin/WCharT.Net/release_net8.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win-x64/lib/net8.0" Visible="false"/>
<None Include="../artifacts/bin/win/bin/WCharT.Net/release_net8.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win-arm64/lib/net8.0" Visible="false"/>

<None Include="../artifacts/ref/obj/WCharT.Net/release_net9.0/ref/WCharT.Net.dll" Pack="true" PackagePath="ref/net9.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net9.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/linux-x64/lib/net9.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net9.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/linux-arm64/lib/net9.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net9.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/osx-x64/lib/net9.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net9.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/osx-arm64/lib/net9.0" Visible="false"/>
<None Include="../artifacts/bin/win/bin/WCharT.Net/release_net9.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win-x64/lib/net9.0" Visible="false"/>
<None Include="../artifacts/bin/win/bin/WCharT.Net/release_net9.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win-arm64/lib/net9.0" Visible="false"/>

<None Include="../artifacts/ref/obj/WCharT.Net/release_net10.0/ref/WCharT.Net.dll" Pack="true" PackagePath="ref/net10.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net10.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/linux-x64/lib/net10.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net10.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/linux-arm64/lib/net10.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net10.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/osx-x64/lib/net10.0" Visible="false"/>
<None Include="../artifacts/bin/unix/bin/WCharT.Net/release_net10.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/osx-arm64/lib/net10.0" Visible="false"/>
<None Include="../artifacts/bin/win/bin/WCharT.Net/release_net10.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win-x64/lib/net10.0" Visible="false"/>
<None Include="../artifacts/bin/win/bin/WCharT.Net/release_net10.0/WCharT.Net.dll" Pack="true" PackagePath="runtimes/win-arm64/lib/net10.0" Visible="false"/>
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/WCharT.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<File Path="build.fsx" />
<File Path="Directory.Build.props" />
<File Path="Directory.Packages.props" />
<File Path="global.json" />
</Folder>
<Folder Name="/src/">
<Project Path="WCharT.Net.Tests/WCharT.Net.Tests.csproj" />
Expand Down
28 changes: 13 additions & 15 deletions src/build.fsx
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
#r "nuget: SimpleExec, 12.0.0"
open System
open SimpleExec

let wchartDir = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "WCharT.Net")

//Create binary for Linux / Mac
Command.Run(
name = "dotnet",
args = "build --runtime unix --configuration Release",
workingDirectory = wchartDir
)
let configuration = "Release"

//Create binary for Windows
Command.Run(
name = "dotnet",
args = "build --runtime win --configuration Release",
workingDirectory = wchartDir
)
let buildVariant (target: string) =
Command.Run(
name = "dotnet",
args = $"build -c {configuration} -p:WChartTarget={target} --artifacts-path ../artifacts/bin/{target}/",
workingDirectory = wchartDir
)

//Create reference assembly for AnyCPU
Command.Run(
name = "dotnet",
args = "build --configuration Release",
args = $"build -c {configuration} --artifacts-path ../artifacts/ref/",
workingDirectory = wchartDir
)
)

//Create platform-specific binaries
buildVariant "unix"
buildVariant "win"
5 changes: 5 additions & 0 deletions src/global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}