Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
85 changes: 17 additions & 68 deletions .github/workflows/artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,29 @@ jobs:
include:
- name: x86_64 SDL 2 (OGL)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
packages: 'libsdl2-dev'
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
runner: ubuntu-24.04
- name: x86_64 SDL 2 (OGL + Shaders)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
packages: 'libsdl2-dev'
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
runner: ubuntu-24.04
- name: i686 SDL 2 (OGL)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32'
packages: 'gcc-multilib g++-multilib libsdl2-dev:i386 libopenal-dev:i386 zlib1g-dev:i386'
runner: ubuntu-22.04
i386: true
- name: i686 SDL 2 (OGL + Shaders)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32'
packages: 'gcc-multilib g++-multilib libsdl2-dev:i386 libopenal-dev:i386 zlib1g-dev:i386'
runner: ubuntu-22.04
i386: true
- name: aarch64 SDL 2 (OGL)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
packages: 'libsdl2-dev'
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
runner: ubuntu-24.04-arm
- name: aarch64 SDL 2 (OGL + Shaders)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
packages: 'libsdl2-dev'
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
runner: ubuntu-24.04-arm
name: Linux (${{ matrix.name }})
runs-on: ${{ matrix.runner }}
Expand All @@ -43,15 +53,16 @@ jobs:
uses: actions/checkout@v6
with:
submodules: true
- name: Enable i386 packages
if: ${{ matrix.i386 }}
run: sudo dpkg --add-architecture i386
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
build-essential \
cmake ninja-build \
ccache \
libopenal-dev \
zlib1g-dev \
${{ matrix.packages }}
- name: Build
run: |
Expand Down Expand Up @@ -132,68 +143,6 @@ jobs:
# - name: Pack cache
# run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

# linux32:
# strategy:
# fail-fast: false
# matrix:
# include:
# - name: SDL 2 (OGL)
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
# packages: 'libsdl2-dev:i386'
# - name: SDL 2 (OGL + Shaders)
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
# packages: 'libsdl2-dev:i386'
# name: Linux 32-bit (${{ matrix.name }})
# runs-on: ubuntu-24.04
# steps:
# - name: Get Time
# id: get-time
# run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
# - uses: actions/cache@v5
# with:
# path: ~/ccache.tar.xz
# key: linux32-artifact-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
# restore-keys: linux32-artifact-${{ matrix.name }}-
# - name: Unpack cache
# run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
# - name: Checkout Repository
# uses: actions/checkout@v6
# with:
# submodules: true
# - name: Install Dependencies
# run: |
# sudo dpkg --add-architecture i386
# sudo apt-get update
# sudo apt-get install --no-install-recommends -y \
# build-essential \
# cmake ninja-build \
# ccache \
# gcc-multilib g++-multilib \
# libopenal-dev:i386 \
# zlib1g-dev:i386 \
# ${{ matrix.packages }}
# - name: Build
# run: |
# mkdir build
# cd build
# cmake .. -GNinja \
# -DCMAKE_BUILD_TYPE=Release \
# -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
# -DCMAKE_C_COMPILER_LAUNCHER=ccache \
# -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
# -DCMAKE_C_FLAGS='-m32' \
# -DCMAKE_CXX_FLAGS='-m32' \
# ${{ matrix.flags }}
# cmake --build .
# - uses: actions/upload-artifact@v6
# with:
# name: Linux 32-bit (${{ matrix.name }})
# path: |
# build/reminecraftpe
# build/assets
# - name: Pack cache
# run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

macos:
strategy:
fail-fast: false
Expand Down
63 changes: 10 additions & 53 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,17 @@ jobs:
include:
- name: x86_64 SDL 2
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
packages: 'libsdl2-dev'
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
runner: ubuntu-24.04
arch: x86_64
- name: i686 SDL 2
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32'
packages: 'gcc-multilib g++-multilib libsdl2-dev:i386 libopenal-dev:i386 zlib1g-dev:i386'
runner: ubuntu-22.04
arch: i686
- name: aarch64 SDL 2
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
packages: 'libsdl2-dev'
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
runner: ubuntu-24.04-arm
arch: aarch64
name: Linux (${{ matrix.name }})
Expand All @@ -27,14 +32,15 @@ jobs:
uses: actions/checkout@v6
with:
submodules: true
- name: Enable i386 packages
if: ${{ matrix.arch == 'i686' }}
run: sudo dpkg --add-architecture i386
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
build-essential \
cmake ninja-build \
libopenal-dev \
zlib1g-dev \
${{ matrix.packages }}
- name: Build
run: |
Expand Down Expand Up @@ -96,55 +102,6 @@ jobs:
# with:
# asset_paths: '["platforms/linux/build-flatpak/ReMCPE-Linux-${{ matrix.arch }}.flatpak"]'

# linux32:
# strategy:
# fail-fast: false
# matrix:
# include:
# - name: SDL 2
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
# packages: 'libsdl2-dev:i386'
# name: Linux 32-bit (${{ matrix.name }})
# runs-on: ubuntu-24.04
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v6
# with:
# submodules: true
# - name: Install Dependencies
# run: |
# sudo dpkg --add-architecture i386
# sudo apt-get update
# sudo apt-get install --no-install-recommends -y \
# build-essential \
# cmake ninja-build \
# gcc-multilib g++-multilib \
# libopenal-dev:i386 \
# zlib1g-dev:i386 \
# ${{ matrix.packages }}
# - name: Build
# run: |
# mkdir build
# cd build
# cmake .. -GNinja \
# -DCMAKE_BUILD_TYPE=Release \
# -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
# -DCMAKE_C_FLAGS='-m32' \
# -DCMAKE_CXX_FLAGS='-m32' \
# ${{ matrix.flags }}
# cmake --build .
# strip reminecraftpe
# - name: Pack release
# run: |
# mkdir ReMCPE
# mv game/assets build/reminecraftpe ReMCPE
# tar -czf ReMCPE-Linux-x86.tar.gz ReMCPE
# - uses: alexellis/upload-assets@0.4.1
# env:
# GITHUB_TOKEN: ${{ github.token }}
# with:
# asset_paths: '["ReMCPE-Linux-x86.tar.gz"]'

macos:
strategy:
fail-fast: false
Expand Down
12 changes: 11 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,17 @@ endif()

# Warnings
add_compile_options(-Wall -Wignored-qualifiers -Wvariadic-macros -pedantic -Wno-long-long -Wno-c++11-long-long -Wno-newline-eof -Wno-empty-translation-unit)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wc++11-extensions>)

if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
set(ENABLE_WCXX11_EXTENSIONS ON)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(ENABLE_WCXX11_EXTENSIONS ON)
endif()
if (ENABLE_WCXX11_EXTENSIONS)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wc++11-extensions>)
endif()

if(WERROR)
add_compile_options(-Werror)
endif()
Expand Down