Update NuGet tooling

- Add officially supported RID for Linux and macOS
- Ensure reproducible builds with fixed image versions
- Add additional dependencies
- Add dirty workaround (for now) for macOS builds
This commit is contained in:
Lukas Dürrenberger committed 2023-06-09 19:48:52 +02:00
1 parent 39d7c47f04
commit fe8145e750
16 files changed
+401 -213

No files matched your search

+11 -6
View File
@@ -19,17 +19,22 @@ All build scripts follow the same routine:
This generic script doesn't install any of its dependencies. As such, you must have cmake and make installed, as well as all [SFML Dependencies](https://www.sfml-dev.org/tutorials/2.5/compile-with-cmake.php#installing-dependencies) available to cmake.
* `build.macos.sh`
* A [Bash](https://www.gnu.org/software/bash/) script to build libraries for macOS. The [Runtime Identifier](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#macos-rids) of the macOS distribution must be specified as parameter to the script.
* A [Bash](https://www.gnu.org/software/bash/) script to build libraries for macOS. The [Runtime Identifier](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#macos-rids) of the macOS distribution must be specified as parameter to the script. Latest macOS SDKs can be downloaded [here](https://github.com/phracker/MacOSX-SDKs/releases).
Currently supported RIDs are:
* osx.10.15-x64
* osx.11.0-x64
* osx.11.0-arm64 (requires SFML 2.6)
* `osx-x64` (uses macOS SDK 10.12)
* `osx.11.0-x64`
* `osx.11.0-arm64` (requires SFML 2.6)
* `build.docker.sh`, `build.docker.ps1`
* A script to build the native libraries for a Linux distribution in a Docker container. If no RID is specified as a parameter, all supported RIDs will be built. Currently, the supported RIDs are:
* `alpine-x64`
* `linux-x64` (uses Ubuntu)
* `linux-musl-x64` (uses Apline)
* `linux-arm` (uses Arm32v7 Ubuntu)
* `linux-arm64` (uses Arm64v8 Ubuntu )
* `alpine-x64`
* `debian-x64` (compatible with derivatives such as Ubuntu and Linux Mint)
* `fedora-x64`
* `ubuntu-x64`
* `fedora-x64`
* `pushnuget.ps1`, `pushnuget.sh`
* A script to automatically build and push the NuGet package to nuget.org. Make sure that all the native libraries are in `CSFML/runtimes/` before running this.