Skip to content

Commit

Permalink
added support for windows arm32/arm64
Browse files Browse the repository at this point in the history
  • Loading branch information
k-wojcik committed Aug 23, 2024
1 parent 9071156 commit 859090a
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 3 deletions.
50 changes: 48 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
with:
name: libs-osx-arm64
path: |
libs/**/*.dylib
libs/**/*.dylib
build-linux-x64:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -178,9 +178,55 @@ jobs:
path: |
libs/**/*.dll
windows-arm:
runs-on: windows-latest
env:
VCPKG_DISABLE_METRICS: 1
VCPKG_INSTALLED_DIR: ${{ github.workspace }}/vcpkg_installed
steps:
- uses: actions/checkout@v4
- name: vcpkg arm32-windows
uses: lukka/run-vcpkg@v11
env:
VCPKG_DEFAULT_TRIPLET: arm-windows
with:
doNotCache: false
runVcpkgInstall: true
- name: copy lib
run: mkdir -p libs/arm32-windows/ && cp vcpkg_installed/arm-windows/bin/roaring.dll libs/arm32-windows/
- name: Upload lib to artifacts
uses: actions/upload-artifact@v4
with:
name: libs-windows-arm32
path: |
libs/**/*.dll
windows-arm64:
runs-on: windows-latest
env:
VCPKG_DISABLE_METRICS: 1
VCPKG_INSTALLED_DIR: ${{ github.workspace }}/vcpkg_installed
steps:
- uses: actions/checkout@v4
- name: vcpkg arm64-windows
uses: lukka/run-vcpkg@v11
env:
VCPKG_DEFAULT_TRIPLET: arm64-windows
with:
doNotCache: false
runVcpkgInstall: true
- name: copy lib
run: mkdir -p libs/arm64-windows/ && cp vcpkg_installed/arm64-windows/bin/roaring.dll libs/arm64-windows/
- name: Upload lib to artifacts
uses: actions/upload-artifact@v4
with:
name: libs-windows-arm64
path: |
libs/**/*.dll
build-dotnet:
runs-on: ubuntu-latest
needs: [build-linux-x64, build-linux-arm64, build-linux-arm, build-osx-x64, build-osx-arm64, windows-x64, windows-x86]
needs: [build-linux-x64, build-linux-arm64, build-linux-arm, build-osx-x64, build-osx-arm64, windows-x64, windows-x86, windows-arm, windows-arm64]
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
steps:
Expand Down
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ A .Net wrapper for [CRoaring](https://github.com/RoaringBitmap/CRoaring) - a C i
[![NuGet Version](https://img.shields.io/nuget/vpre/Roaring.Net)](https://www.nuget.org/packages/Roaring.Net)
[![codecov](https://codecov.io/github/k-wojcik/Roaring.Net/graph/badge.svg?token=ITL13NZGAH)](https://codecov.io/github/k-wojcik/Roaring.Net)

## Support
### Supported runtimes
| Platform/Architecture | **x86** | **x64** | **arm** | **arm64** |
|:---------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| **windows** | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| **linux** | | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| **osx** | | :white_check_mark: | | :white_check_mark: |

### Supported frameworks
* .NET 8
* .NET 6

## Usage
```cs
using var rb1 = new Roaring32Bitmap();
Expand Down Expand Up @@ -34,4 +46,4 @@ Console.WriteLine(result.Contains(5));
### Windows
- [VS2022 or later](https://www.visualstudio.com/downloads/)
- [VCpkg](https://vcpkg.io/en/getting-started) and please do `vcpkg integrate install`. (CMake for CRoaring will be handled by VCpkg on your behalf.)
- run `build/build-libs.bat` to build a CRoaring library
- run `build/build-libs.bat` to build a CRoaring library
8 changes: 8 additions & 0 deletions src/Roaring.Net/Roaring.Net.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@
<Pack>true</Pack>
<PackagePath>runtimes/win-x86/native</PackagePath>
</Content>
<Content Include="../../libs/arm32-windows/*.dll">
<Pack>true</Pack>
<PackagePath>runtimes/win-arm32/native</PackagePath>
</Content>
<Content Include="../../libs/arm64-windows/*.dll">
<Pack>true</Pack>
<PackagePath>runtimes/win-arm64/native</PackagePath>
</Content>
<Content Include="../../libs/x64-linux/*.so">
<Pack>true</Pack>
<PackagePath>runtimes/linux-x64/native</PackagePath>
Expand Down

0 comments on commit 859090a

Please sign in to comment.