Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
c4bcdea
Move SDL download and build procedure into CMakeLists.txt
dertseha Jul 16, 2026
3e2db31
Move FluidSynth download and build procedure into CMakeLists.txt
dertseha Jul 17, 2026
7b78a87
Move GLEW download and build procedure into CMakeLists.txt; Fix Fluid…
dertseha Jul 17, 2026
447a689
Add toolchain files for mingw cross-compilation
dertseha Jul 17, 2026
4ab1dc6
Add toolchain files for linux gcc
dertseha Jul 17, 2026
5fe8f77
Add workflow script for building
dertseha Jul 17, 2026
7c62887
Rename file to be x86-64 instead of x86_64
dertseha Jul 17, 2026
82765a9
Fix job name
dertseha Jul 17, 2026
10c73ff
Add base build workflow for main build
dertseha Jul 17, 2026
d33a143
Change cmake installation
dertseha Jul 17, 2026
b18200e
Merge pull request #1 from inkyblackness/add-github-workflow
dertseha Jul 17, 2026
b055f86
Merge branch 'main' into rework-build-system
dertseha Jul 17, 2026
1bbc43f
Run build on any branch push
dertseha Jul 17, 2026
ea8c64f
Simplify trigger filter
dertseha Jul 17, 2026
5998ddb
Does it need colons?
dertseha Jul 17, 2026
722b535
Prefer new GLVND interface for OpenGL
dertseha Jul 17, 2026
5f961bc
Add parameter also for linker
dertseha Jul 17, 2026
3620ad8
Separate 32bit and 64bit installation
dertseha Jul 17, 2026
bec2466
Reduce i386 needs
dertseha Jul 17, 2026
8ac242c
Print content of current directory to see what is up
dertseha Jul 17, 2026
2b0ceb2
Fix name of toolchain file
dertseha Jul 17, 2026
a81b8cb
Ignore CLion IDE files
dertseha Jul 18, 2026
7556412
Remove commented statements
dertseha Jul 18, 2026
2fcd660
Avoid using deprecated FetchContent_Populate, use corresponding param…
dertseha Jul 18, 2026
2a7fe9b
Solve build error under MS Windows with FluidSynth; Make variables ex…
dertseha Jul 18, 2026
41e0f06
Add missing include to ensure isprint() is known
dertseha Jul 18, 2026
fea1fa9
Handle compilation issue in FluidSynth-Lite
dertseha Jul 18, 2026
8c31017
Extend compiler option guard to include version
dertseha Jul 18, 2026
926b6b1
Rework build script to a better approach; Use CMake's parameters
dertseha Jul 18, 2026
74ee8e7
Make binaries available for download
dertseha Jul 18, 2026
f18e1b2
Fix DLL inclusion in artifact
dertseha Jul 18, 2026
f207677
Upgrade to newest checkout action
dertseha Jul 18, 2026
9163a1a
Use CMake to prepare distribution package
dertseha Jul 18, 2026
942d9f1
Avoid dependencies to end up in distribution package
dertseha Jul 18, 2026
4288d58
Another attempt at excluding dependency extras from ending up in dist…
dertseha Jul 18, 2026
8efeea8
Attempt to use static runtime linking for MinGW; avoids need for extr…
dertseha Jul 18, 2026
1020d52
Move static linking of MinGW runtime libraries to toolchain files, wh…
dertseha Jul 18, 2026
2a92cd7
Static runtime libraries still not working, attempt with one more flag
dertseha Jul 18, 2026
b6ab5f0
Reintroduce manual resolving of MinGW runtime DLLs, including special…
dertseha Jul 18, 2026
b8ed343
Fix wrong compilation target for Win32 (was still 64bit!), and clarif…
dertseha Jul 18, 2026
97012ee
Switch back to default (non-posix)
dertseha Jul 18, 2026
c374214
Restore dwarf exception handling library reference
dertseha Jul 18, 2026
efd40c8
Add builds for macOS
dertseha Jul 18, 2026
39fd6b4
Attempt to explicitly install older release of CMake
dertseha Jul 18, 2026
074c8b7
Do manual installation of CMake 3
dertseha Jul 18, 2026
eebe799
Remove preinstalled CMake before downgrading
dertseha Jul 18, 2026
f9be828
Perform quiet download of file
dertseha Jul 18, 2026
24cb066
Extend path to lookup cmake for further steps
dertseha Jul 18, 2026
2c86b1b
Remove too eager usage of environment variable
dertseha Jul 18, 2026
2d3a57a
The current command changing GITHUB_PATH can not use it already
dertseha Jul 18, 2026
5cebf33
Attempt to squash a further FluidSynth error
dertseha Jul 18, 2026
eb1f3e0
Change error check to be only for Apple
dertseha Jul 18, 2026
763072a
Remove unavailable x86-64 node for macOS
dertseha Jul 18, 2026
df5488d
Add more error exclusions for Apple build
dertseha Jul 18, 2026
53b8dfc
Disable macOS build - it doesn't work.
dertseha Jul 18, 2026
2440cb2
Include shaders in distribution package, remove license details (alig…
dertseha Jul 18, 2026
75a7dc1
Remove all obsolete build/run scripts
dertseha Jul 18, 2026
9ab9e61
update readme and separate compiling instructions
dertseha Jul 18, 2026
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
86 changes: 86 additions & 0 deletions .github/workflows/main-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Main Build
on:
push:
pull_request:
permissions:
contents: read
jobs:
build:
name: ${{matrix.os}} - ${{matrix.arch}}
runs-on: ${{matrix.runner}}
strategy:
fail-fast: false
matrix:
include:
# Linux builds
- os: linux
arch: x86-64
runner: ubuntu-22.04
toolchain_file: 'x86-64-gcc.cmake'
extra_packages: 'gcc g++ mesa-utils mesa-common-dev xorg-dev libxrandr-dev'

- os: linux
arch: i686
runner: ubuntu-22.04
toolchain_file: 'i686-gcc.cmake'
extra_packages: 'gcc-multilib g++-multilib mesa-utils mesa-common-dev:i386 xorg-dev libxrandr-dev'

# Windows builds
- os: mswin
arch: x86-64
runner: ubuntu-22.04
toolchain_file: 'x86-64-w64-mingw32.cmake'
extra_packages: 'gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64'

- os: mswin
arch: i686
runner: ubuntu-22.04
toolchain_file: 'i686-w64-mingw32.cmake'
extra_packages: 'gcc-mingw-w64-i686 g++-mingw-w64-i686'

# macOS builds (native compilation)
# Disabled build because of alignment issues during linking.
#- os: macos
# arch: arm64
# runner: macos-14
steps:
- uses: actions/checkout@v7

- name: Install build dependencies (Linux)
if: runner.os == 'linux'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y cmake ${{ matrix.extra_packages }}

- name: Install build dependencies (macOS)
if: runner.os == 'macos'
run: |
brew uninstall cmake
wget -q https://github.com/Kitware/CMake/releases/download/v3.31.12/cmake-3.31.12-macos-universal.tar.gz
tar -xzf cmake-3.31.12-macos-universal.tar.gz
sudo cp -r cmake-3.31.12-macos-universal/CMake.app /Applications/
echo "/Applications/CMake.app/Contents/bin" >> $GITHUB_PATH
brew install ninja

- name: Generate build files
run: >
cmake
-B build
-S .
-G Ninja
-DCMAKE_BUILD_TYPE=RelWithDebInfo
${{ matrix.toolchain_file && format('-DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/{0}', matrix.toolchain_file) || '' }}

- name: Build
run: cmake --build build -j $(sysctl -n hw.logicalcpu || nproc)

- name: Prepare distribution package
run: cmake --install build --prefix dist

- name: Upload Build Artifacts
uses: actions/upload-artifact@v7
with:
name: systemshock-${{ matrix.os }}-${{ matrix.arch }}
path: dist/
if-no-files-found: warn
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,7 @@ savgam*.dat
.project
.cproject
.DS_Store

# CLion
cmake-build-*
.idea
83 changes: 0 additions & 83 deletions .travis.yml

This file was deleted.

Loading