mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-28 21:56:12 +01:00
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:
1 parent
39d7c47f04
commit
fe8145e750
16 files changed
+226
-38
No files matched your search
@@ -33,8 +33,13 @@
|
|||||||
|
|
||||||
# Build folders
|
# Build folders
|
||||||
build/
|
build/
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
# Cache/IDE folders
|
# Cache/IDE folders
|
||||||
.cache/
|
.cache/
|
||||||
.vscode/
|
.vscode/
|
||||||
.idea/
|
.idea/
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
# System files
|
||||||
|
.DS_Store
|
||||||
@@ -1,13 +1,10 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
|
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="16.0">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard1.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||||
|
|
||||||
<!-- Workaround to remove the NETStandard.Library NuGet reference without breaking everything -->
|
<Version>2.5.2</Version>
|
||||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
|
||||||
|
|
||||||
<Version>2.5.1</Version>
|
|
||||||
<Authors>Laurent Gomila</Authors>
|
<Authors>Laurent Gomila</Authors>
|
||||||
<PackageTags>sfml csfml</PackageTags>
|
<PackageTags>sfml csfml</PackageTags>
|
||||||
<Copyright>Copyright © Laurent Gomila</Copyright>
|
<Copyright>Copyright © Laurent Gomila</Copyright>
|
||||||
@@ -22,10 +19,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="all" />
|
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="all" />
|
||||||
|
|
||||||
<!-- Workaround to remove the NETStandard.Library NuGet reference without breaking everything -->
|
|
||||||
<PackageReference Include="NETStandard.Library" Version="1.6.1" PrivateAssets="all" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<CSFMLIgnoreAnyCPU>false</CSFMLIgnoreAnyCPU>
|
<CSFMLIgnoreAnyCPU>false</CSFMLIgnoreAnyCPU>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
|
||||||
<Target Name="CSFMLAnyCPUError" Condition="$(CSFMLIgnoreAnyCPU) != true and $(Platform) == 'AnyCPU'" BeforeTargets="Build">
|
<Target Name="CSFMLAnyCPUError" Condition="$(CSFMLIgnoreAnyCPU) != true and $(Platform) == 'AnyCPU'" BeforeTargets="Build">
|
||||||
<Error Text="CSFML doesn't support 'Any CPU' on the .NET Framework. Consider switching to .NET Core. If this is not possible, change your platform to x64 or x86, or set the MSBuild property 'CSFMLIgnoreAnyCPU' to true and manually load the appropriate native library at runtime." />
|
<Error Text="CSFML doesn't support 'Any CPU' on the .NET Framework. Consider switching to .NET Core. If this is not possible, change your platform to x64 or x86, or set the MSBuild property 'CSFMLIgnoreAnyCPU' to true and manually load the appropriate native library at runtime." />
|
||||||
|
|||||||
@@ -19,16 +19,21 @@ 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.
|
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`
|
* `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:
|
Currently supported RIDs are:
|
||||||
* osx.10.15-x64
|
* `osx-x64` (uses macOS SDK 10.12)
|
||||||
* osx.11.0-x64
|
* `osx.11.0-x64`
|
||||||
* osx.11.0-arm64 (requires SFML 2.6)
|
* `osx.11.0-arm64` (requires SFML 2.6)
|
||||||
|
|
||||||
* `build.docker.sh`, `build.docker.ps1`
|
* `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:
|
* 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`
|
* `alpine-x64`
|
||||||
* `debian-x64` (compatible with derivatives such as Ubuntu and Linux Mint)
|
* `debian-x64` (compatible with derivatives such as Ubuntu and Linux Mint)
|
||||||
|
* `ubuntu-x64`
|
||||||
* `fedora-x64`
|
* `fedora-x64`
|
||||||
|
|
||||||
* `pushnuget.ps1`, `pushnuget.sh`
|
* `pushnuget.ps1`, `pushnuget.sh`
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ Param(
|
|||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
if (-not $RID ) {
|
if (-not $RID ) {
|
||||||
Write-Output "No RID specified, building all known RIDs"
|
Write-Output "No RID specified, building all common RIDs"
|
||||||
./build.docker.ps1 "alpine-x64"
|
./build.docker.ps1 "linux-x64"
|
||||||
./build.docker.ps1 "debian-x64"
|
./build.docker.ps1 "linux-musl-x64"
|
||||||
./build.docker.ps1 "fedora-x64"
|
./build.docker.ps1 "linux-arm"
|
||||||
|
./build.docker.ps1 "linux-arm64"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,15 +19,35 @@ $Shell = $null
|
|||||||
|
|
||||||
switch ($RID) {
|
switch ($RID) {
|
||||||
'alpine-x64' {
|
'alpine-x64' {
|
||||||
$Image = 'alpine'
|
$Image = 'alpine:3.7'
|
||||||
$Shell = '/bin/sh'
|
$Shell = '/bin/sh'
|
||||||
}
|
}
|
||||||
'debian-x64' {
|
'debian-x64' {
|
||||||
$Image = 'debian'
|
$Image = 'debian:bullseye'
|
||||||
|
$Shell = '/bin/bash'
|
||||||
|
}
|
||||||
|
'ubuntu-x64' {
|
||||||
|
$Image = 'ubuntu:22.04'
|
||||||
$Shell = '/bin/bash'
|
$Shell = '/bin/bash'
|
||||||
}
|
}
|
||||||
'fedora-x64' {
|
'fedora-x64' {
|
||||||
$Image = 'fedora'
|
$Image = 'fedora:37'
|
||||||
|
$Shell = '/bin/bash'
|
||||||
|
}
|
||||||
|
'linux-x64' {
|
||||||
|
$Image = 'ubuntu:22.04'
|
||||||
|
$Shell = '/bin/bash'
|
||||||
|
}
|
||||||
|
'linux-musl-x64' {
|
||||||
|
$Image = 'alpine:3.15'
|
||||||
|
$Shell = '/bin/sh'
|
||||||
|
}
|
||||||
|
'linux-arm' {
|
||||||
|
$Image = 'arm32v7/ubuntu:22.04'
|
||||||
|
$Shell = '/bin/bash'
|
||||||
|
}
|
||||||
|
'linux-arm64' {
|
||||||
|
$Image = 'arm64v8/ubuntu:22.04'
|
||||||
$Shell = '/bin/bash'
|
$Shell = '/bin/bash'
|
||||||
}
|
}
|
||||||
Default {
|
Default {
|
||||||
|
|||||||
Regular → Executable
+57
-10
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
# Automatically exit on error
|
# Automatically exit on error
|
||||||
set -e
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
# ========================= #
|
# ========================= #
|
||||||
# PRELUDE: A note on rpaths #
|
# PRELUDE: A note on rpaths #
|
||||||
@@ -89,18 +90,18 @@ mkdir -p lib
|
|||||||
# SFML shared libraries together with the CSFML shared libraries into SFML.Net
|
# SFML shared libraries together with the CSFML shared libraries into SFML.Net
|
||||||
SFMLLibDir="$(grealpath lib)"
|
SFMLLibDir="$(grealpath lib)"
|
||||||
|
|
||||||
if [ $RID == "osx.10.15-x64" ]; then
|
if [ $RID == "osx-x64" ]; then
|
||||||
ARCHITECTURE="x86_64"
|
ARCHITECTURE="x86_64"
|
||||||
TARGET="10.15"
|
TARGET="10.12"
|
||||||
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/"
|
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/"
|
||||||
elif [ $RID == "osx.11.0-x64" ]; then
|
elif [ $RID == "osx.11.0-x64" ]; then
|
||||||
ARCHITECTURE="x86_64"
|
ARCHITECTURE="x86_64"
|
||||||
TARGET="11.0"
|
TARGET="11.0"
|
||||||
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/"
|
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/"
|
||||||
elif [ $RID == "osx.11.0-arm64" ]; then
|
elif [ $RID == "osx.11.0-arm64" ]; then
|
||||||
ARCHITECTURE="arm64"
|
ARCHITECTURE="arm64"
|
||||||
TARGET="11.0"
|
TARGET="11.0"
|
||||||
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/"
|
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/"
|
||||||
|
|
||||||
echo "Note: arm64 is only supported with SFML 2.6"
|
echo "Note: arm64 is only supported with SFML 2.6"
|
||||||
else
|
else
|
||||||
@@ -111,16 +112,20 @@ fi
|
|||||||
cmake -E env \
|
cmake -E env \
|
||||||
cmake -G "Unix Makefiles" \
|
cmake -G "Unix Makefiles" \
|
||||||
-D 'BUILD_SHARED_LIBS=ON' \
|
-D 'BUILD_SHARED_LIBS=ON' \
|
||||||
|
-D 'SFML_BUILD_FRAMEWORKS=OFF' \
|
||||||
-D 'CMAKE_BUILD_TYPE=Release' \
|
-D 'CMAKE_BUILD_TYPE=Release' \
|
||||||
-D "CMAKE_OSX_ARCHITECTURES=$ARCHITECTURE" \
|
-D "CMAKE_OSX_ARCHITECTURES=$ARCHITECTURE" \
|
||||||
-D "CMAKE_OSX_DEPLOYMENT_TARGET=$TARGET" \
|
-D "CMAKE_OSX_DEPLOYMENT_TARGET=$TARGET" \
|
||||||
-D "CMAKE_OSX_SYSROOT=$SYSROOT" \
|
-D "CMAKE_OSX_SYSROOT=$SYSROOT" \
|
||||||
-D "CMAKE_LIBRARY_OUTPUT_DIRECTORY=$SFMLLibDir" \
|
-D "CMAKE_LIBRARY_OUTPUT_DIRECTORY=$SFMLLibDir" \
|
||||||
-D 'CMAKE_BUILD_WITH_INSTALL_RPATH=ON' \
|
-D 'CMAKE_BUILD_WITH_INSTALL_RPATH=ON' \
|
||||||
-D 'CMAKE_INSTALL_RPATH=@executable_path' \
|
-D 'CMAKE_INSTALL_RPATH=@loader_path' \
|
||||||
|
-D "CMAKE_INSTALL_PREFIX=$SFMLLibDir" \
|
||||||
|
-D "SFML_DEPENDENCIES_INSTALL_PREFIX=$SFMLLibDir" \
|
||||||
|
-D "SFML_MISC_INSTALL_PREFIX=$SFMLLibDir" \
|
||||||
"$SFMLDir"
|
"$SFMLDir"
|
||||||
|
|
||||||
cmake --build . --config Release
|
cmake --build . --config Release --target install
|
||||||
|
|
||||||
popd # Pop SFML
|
popd # Pop SFML
|
||||||
|
|
||||||
@@ -145,14 +150,49 @@ cmake -E env \
|
|||||||
-D "CMAKE_OSX_SYSROOT=$SYSROOT" \
|
-D "CMAKE_OSX_SYSROOT=$SYSROOT" \
|
||||||
-D "CMAKE_LIBRARY_OUTPUT_DIRECTORY=$CSFMLLibDir" \
|
-D "CMAKE_LIBRARY_OUTPUT_DIRECTORY=$CSFMLLibDir" \
|
||||||
-D 'CMAKE_BUILD_WITH_INSTALL_RPATH=ON' \
|
-D 'CMAKE_BUILD_WITH_INSTALL_RPATH=ON' \
|
||||||
-D 'CMAKE_INSTALL_RPATH=@executable_path' \
|
-D 'CMAKE_INSTALL_RPATH=@loader_path' \
|
||||||
|
-D "CMAKE_INSTALL_PREFIX=$CSFMLLibDir" \
|
||||||
|
-D "INSTALL_MISC_DIR=$CSFMLLibDir" \
|
||||||
"$CSFMLDir"
|
"$CSFMLDir"
|
||||||
cmake --build . --config Release
|
cmake --build . --config Release --target install
|
||||||
|
|
||||||
|
# ============================ #
|
||||||
|
# STEP 5: Fix RPATH references #
|
||||||
|
# ============================ #
|
||||||
|
|
||||||
|
SFMLMajorMinor="2.5"
|
||||||
|
SFMLMajorMinorPatch="$SFMLMajorMinor.1"
|
||||||
|
|
||||||
|
# SFML's framework dependencies will always reference @rpath/../Frameworks/<depedency>
|
||||||
|
# Which is not where we place the frameworks and where SFML should look for them
|
||||||
|
# This this fixes the dependency with install_name_tool
|
||||||
|
fixrpath()
|
||||||
|
{
|
||||||
|
MODULE="$1"
|
||||||
|
OLD="$2"
|
||||||
|
NEW="$3"
|
||||||
|
|
||||||
|
install_name_tool -change $OLD $NEW "$SFMLLibDir/libsfml-$MODULE.dylib"
|
||||||
|
install_name_tool -change $OLD $NEW "$SFMLLibDir/libsfml-$MODULE.$SFMLMajorMinor.dylib"
|
||||||
|
install_name_tool -change $OLD $NEW "$SFMLLibDir/libsfml-$MODULE.$SFMLMajorMinorPatch.dylib"
|
||||||
|
}
|
||||||
|
|
||||||
|
fixrpath audio "@rpath/../Frameworks/OpenAL.framework/Versions/A/OpenAL" "@rpath/OpenAL.framework/Versions/A/OpenAL"
|
||||||
|
fixrpath audio "@rpath/../Frameworks/vorbisenc.framework/Versions/A/vorbisenc" "@rpath/vorbisenc.framework/Versions/A/vorbisen"
|
||||||
|
fixrpath audio "@rpath/../Frameworks/vorbisfile.framework/Versions/A/vorbisfile" "@rpath/vorbisfile.framework/Versions/A/vorbisfile"
|
||||||
|
fixrpath audio "@rpath/../Frameworks/vorbis.framework/Versions/A/vorbis" "@rpath/vorbis.framework/Versions/A/vorbis"
|
||||||
|
fixrpath audio "@rpath/../Frameworks/ogg.framework/Versions/A/ogg" "@rpath/ogg.framework/Versions/A/ogg"
|
||||||
|
fixrpath audio "@rpath/../Frameworks/FLAC.framework/Versions/A/FLAC" "@rpath/FLAC.framework/Versions/A/FLAC"
|
||||||
|
|
||||||
|
fixrpath graphics "@rpath/../Frameworks/freetype.framework/Versions/A/freetype" "@rpath/freetype.framework/Versions/A/freetype"
|
||||||
|
|
||||||
# ======================================== #
|
# ======================================== #
|
||||||
# STEP 5: Copy result to the NuGet folders #
|
# STEP 6: Copy result to the NuGet folders #
|
||||||
# ======================================== #
|
# ======================================== #
|
||||||
|
|
||||||
|
CSFMLMajorMinor="2.5"
|
||||||
|
CSFMLMajorMinorPatch="$CSFMLMajorMinor.2"
|
||||||
|
|
||||||
# Copies one SFML and CSFML module into the NuGet package
|
# Copies one SFML and CSFML module into the NuGet package
|
||||||
# The module name must be passed to this function as an argument, in lowercase
|
# The module name must be passed to this function as an argument, in lowercase
|
||||||
# This function then copies $SFMLLibDir/libsfml-(module).so and
|
# This function then copies $SFMLLibDir/libsfml-(module).so and
|
||||||
@@ -171,6 +211,11 @@ copymodule()
|
|||||||
cp "$SFMLLibDir/libsfml-$MODULE."* "$OutDir"
|
cp "$SFMLLibDir/libsfml-$MODULE."* "$OutDir"
|
||||||
|
|
||||||
cp "$CSFMLLibDir/libcsfml-$MODULE."* "$OutDir"
|
cp "$CSFMLLibDir/libcsfml-$MODULE."* "$OutDir"
|
||||||
|
|
||||||
|
# Fix naming for expected filename
|
||||||
|
mv "$OutDir/libcsfml-$MODULE.dylib" "$OutDir/libcsfml-$MODULE"
|
||||||
|
mv "$OutDir/libcsfml-$MODULE.$CSFMLMajorMinor.dylib" "$OutDir/libcsfml-$MODULE.$CSFMLMajorMinor"
|
||||||
|
mv "$OutDir/libcsfml-$MODULE.$CSFMLMajorMinorPatch.dylib" "$OutDir/libcsfml-$MODULE.$CSFMLMajorMinorPatch"
|
||||||
}
|
}
|
||||||
|
|
||||||
copymodule audio
|
copymodule audio
|
||||||
@@ -178,6 +223,8 @@ copymodule graphics
|
|||||||
copymodule system
|
copymodule system
|
||||||
copymodule window
|
copymodule window
|
||||||
|
|
||||||
|
cp -R "$SFMLLibDir/"*.framework "$OutDir"
|
||||||
|
|
||||||
popd # Pop CSFML
|
popd # Pop CSFML
|
||||||
popd # Pop $RID
|
popd # Pop $RID
|
||||||
popd # Pop Build
|
popd # Pop Build
|
||||||
@@ -10,6 +10,7 @@ apk add \
|
|||||||
freetype-dev \
|
freetype-dev \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxrandr-dev \
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
eudev-dev \
|
eudev-dev \
|
||||||
mesa-dev \
|
mesa-dev \
|
||||||
flac-dev \
|
flac-dev \
|
||||||
|
|||||||
@@ -10,15 +10,12 @@ apt-get install -y \
|
|||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
xorg-dev \
|
xorg-dev \
|
||||||
libxrandr-dev \
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
libgl1-mesa-dev \
|
libgl1-mesa-dev \
|
||||||
libflac-dev \
|
libflac-dev \
|
||||||
libogg-dev \
|
libogg-dev \
|
||||||
libvorbis-dev \
|
libvorbis-dev \
|
||||||
libvorbisenc2 \
|
|
||||||
libvorbisfile3 \
|
|
||||||
libopenal-dev \
|
|
||||||
libpthread-stubs0-dev \
|
|
||||||
cmake \
|
cmake \
|
||||||
g++
|
g++
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ dnf install -y \
|
|||||||
freetype-devel \
|
freetype-devel \
|
||||||
xorg-x11-server-devel \
|
xorg-x11-server-devel \
|
||||||
libXrandr-devel \
|
libXrandr-devel \
|
||||||
|
libXcursor-devel \
|
||||||
systemd-devel \
|
systemd-devel \
|
||||||
mesa-libEGL-devel \
|
mesa-libEGL-devel \
|
||||||
flac-devel \
|
flac-devel \
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Automatically exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y \
|
||||||
|
git \
|
||||||
|
libfreetype6-dev \
|
||||||
|
xorg-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libgl1-mesa-dev \
|
||||||
|
libflac-dev \
|
||||||
|
libogg-dev \
|
||||||
|
libvorbis-dev \
|
||||||
|
libopenal-dev \
|
||||||
|
cmake \
|
||||||
|
g++
|
||||||
|
|
||||||
|
./build.linux.sh linux-arm
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Automatically exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y \
|
||||||
|
git \
|
||||||
|
libfreetype6-dev \
|
||||||
|
xorg-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libgl1-mesa-dev \
|
||||||
|
libflac-dev \
|
||||||
|
libogg-dev \
|
||||||
|
libvorbis-dev \
|
||||||
|
libopenal-dev \
|
||||||
|
cmake \
|
||||||
|
g++
|
||||||
|
|
||||||
|
./build.linux.sh linux-arm64
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Alpine Linux doesn't come with bash by default, so we need to bootstrap everything with sh
|
||||||
|
|
||||||
|
# Automatically exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apk add \
|
||||||
|
bash \
|
||||||
|
git \
|
||||||
|
freetype-dev \
|
||||||
|
libx11-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
eudev-dev \
|
||||||
|
mesa-dev \
|
||||||
|
flac-dev \
|
||||||
|
libogg-dev \
|
||||||
|
libvorbis-dev \
|
||||||
|
openal-soft-dev \
|
||||||
|
libpthread-stubs \
|
||||||
|
cmake \
|
||||||
|
make \
|
||||||
|
g++
|
||||||
|
|
||||||
|
./build.linux.sh linux-musl-x64
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Automatically exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y \
|
||||||
|
git \
|
||||||
|
libfreetype6-dev \
|
||||||
|
xorg-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libgl1-mesa-dev \
|
||||||
|
libflac-dev \
|
||||||
|
libogg-dev \
|
||||||
|
libvorbis-dev \
|
||||||
|
libopenal-dev \
|
||||||
|
cmake \
|
||||||
|
g++
|
||||||
|
|
||||||
|
./build.linux.sh linux-x64
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Automatically exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y \
|
||||||
|
git \
|
||||||
|
libfreetype6-dev \
|
||||||
|
xorg-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libudev-dev \
|
||||||
|
libgl1-mesa-dev \
|
||||||
|
libflac-dev \
|
||||||
|
libogg-dev \
|
||||||
|
libvorbis-dev \
|
||||||
|
libopenal-dev \
|
||||||
|
cmake \
|
||||||
|
g++
|
||||||
|
|
||||||
|
./build.linux.sh ubuntu-x64
|
||||||
@@ -3,7 +3,7 @@ Param(
|
|||||||
[string]$APIKey
|
[string]$APIKey
|
||||||
)
|
)
|
||||||
|
|
||||||
dotnet build -c Release
|
dotnet pack -c Release
|
||||||
if ($LASTEXITCODE -ne 0) {
|
if ($LASTEXITCODE -ne 0) {
|
||||||
Write-Error "Build failed"
|
Write-Error "Build failed"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in new issue
Block a user