Files
CSFML/tools/nuget
2025-09-28 22:28:21 +02:00
..
2025-09-04 09:20:56 +02:00
2019-01-23 22:59:18 +01:00
2019-01-23 22:59:18 +01:00
2024-02-04 13:43:43 +01:00
2025-09-28 22:28:21 +02:00
2025-09-28 22:28:21 +02:00
2025-09-28 22:28:21 +02:00
2023-06-09 19:48:52 +02:00
2019-01-23 22:59:18 +01:00
2023-06-09 19:48:52 +02:00
2019-01-23 22:59:18 +01:00
2025-09-28 22:28:21 +02:00

CSFML NuGet Packages

This directory contains all the files needed to build and package the native CSFML libraries for SFML.Net. All scripts must be run from the directory they are located in. That means that your current working directory ($PWD) must be the same where the script is.

All build scripts follow the same routine:

  1. Clone the SFML repository at Build/SFML, if it isn't already there
  2. Configure & compile SFML with cmake inside of Build/(RID)/SFML, where (RID) is the Runtime Identifier for the target of the libraries being built
  3. Configure & compile CSFML with cmake inside of Build/(RID)/CSFML
  4. Copy the resulting libraries to CSFML/runtimes/(RID)/native/
  • build.win.ps1

    • A PowerShell script to build Windows native libraries. By default, both win-x86 and win-x64 are built. To build only one specific Runtime Identifier, pass it to the script as a parameter (./build.win.ps1 win-x64) You must have Visual Studio 2019, cmake, and the Windows SDK 10 installed to run this script.
  • build.linux.sh

    • A Bash script to build libraries for a generic Linux distribution. The Runtime Identifier of the linux distribution must be specified as a parameter to the script. 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 available to cmake.
  • build.macos.sh

    • A Bash script to build libraries for macOS. The Runtime Identifier of the macOS distribution must be specified as parameter to the script. Latest macOS SDKs can be downloaded here. Currently supported RIDs are:
      • 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:
    • 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)
    • ubuntu-x64
    • fedora-x64 (not an official RID anymore)
  • 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.
  • Other scripts

    • Any script not mentioned here is intended for internal use by other scripts only and shouldn't be called directly.