Skip to content

Commit 7dbca31

Browse files
authored
Re-added 32-bit Linux Builds (#524)
1 parent 70ab1db commit 7dbca31

3 files changed

Lines changed: 38 additions & 122 deletions

File tree

.github/workflows/artifacts.yml

Lines changed: 17 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,29 @@ jobs:
1212
include:
1313
- name: x86_64 SDL 2 (OGL)
1414
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
15-
packages: 'libsdl2-dev'
15+
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
1616
runner: ubuntu-24.04
1717
- name: x86_64 SDL 2 (OGL + Shaders)
1818
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
19-
packages: 'libsdl2-dev'
19+
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
2020
runner: ubuntu-24.04
21+
- name: i686 SDL 2 (OGL)
22+
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32'
23+
packages: 'gcc-multilib g++-multilib libsdl2-dev:i386 libopenal-dev:i386 zlib1g-dev:i386'
24+
runner: ubuntu-22.04
25+
i386: true
26+
- name: i686 SDL 2 (OGL + Shaders)
27+
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32'
28+
packages: 'gcc-multilib g++-multilib libsdl2-dev:i386 libopenal-dev:i386 zlib1g-dev:i386'
29+
runner: ubuntu-22.04
30+
i386: true
2131
- name: aarch64 SDL 2 (OGL)
2232
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
23-
packages: 'libsdl2-dev'
33+
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
2434
runner: ubuntu-24.04-arm
2535
- name: aarch64 SDL 2 (OGL + Shaders)
2636
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
27-
packages: 'libsdl2-dev'
37+
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
2838
runner: ubuntu-24.04-arm
2939
name: Linux (${{ matrix.name }})
3040
runs-on: ${{ matrix.runner }}
@@ -43,15 +53,16 @@ jobs:
4353
uses: actions/checkout@v6
4454
with:
4555
submodules: true
56+
- name: Enable i386 packages
57+
if: ${{ matrix.i386 }}
58+
run: sudo dpkg --add-architecture i386
4659
- name: Install Dependencies
4760
run: |
4861
sudo apt-get update
4962
sudo apt-get install --no-install-recommends -y \
5063
build-essential \
5164
cmake ninja-build \
5265
ccache \
53-
libopenal-dev \
54-
zlib1g-dev \
5566
${{ matrix.packages }}
5667
- name: Build
5768
run: |
@@ -132,68 +143,6 @@ jobs:
132143
# - name: Pack cache
133144
# run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
134145

135-
# linux32:
136-
# strategy:
137-
# fail-fast: false
138-
# matrix:
139-
# include:
140-
# - name: SDL 2 (OGL)
141-
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
142-
# packages: 'libsdl2-dev:i386'
143-
# - name: SDL 2 (OGL + Shaders)
144-
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
145-
# packages: 'libsdl2-dev:i386'
146-
# name: Linux 32-bit (${{ matrix.name }})
147-
# runs-on: ubuntu-24.04
148-
# steps:
149-
# - name: Get Time
150-
# id: get-time
151-
# run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
152-
# - uses: actions/cache@v5
153-
# with:
154-
# path: ~/ccache.tar.xz
155-
# key: linux32-artifact-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
156-
# restore-keys: linux32-artifact-${{ matrix.name }}-
157-
# - name: Unpack cache
158-
# run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
159-
# - name: Checkout Repository
160-
# uses: actions/checkout@v6
161-
# with:
162-
# submodules: true
163-
# - name: Install Dependencies
164-
# run: |
165-
# sudo dpkg --add-architecture i386
166-
# sudo apt-get update
167-
# sudo apt-get install --no-install-recommends -y \
168-
# build-essential \
169-
# cmake ninja-build \
170-
# ccache \
171-
# gcc-multilib g++-multilib \
172-
# libopenal-dev:i386 \
173-
# zlib1g-dev:i386 \
174-
# ${{ matrix.packages }}
175-
# - name: Build
176-
# run: |
177-
# mkdir build
178-
# cd build
179-
# cmake .. -GNinja \
180-
# -DCMAKE_BUILD_TYPE=Release \
181-
# -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
182-
# -DCMAKE_C_COMPILER_LAUNCHER=ccache \
183-
# -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
184-
# -DCMAKE_C_FLAGS='-m32' \
185-
# -DCMAKE_CXX_FLAGS='-m32' \
186-
# ${{ matrix.flags }}
187-
# cmake --build .
188-
# - uses: actions/upload-artifact@v6
189-
# with:
190-
# name: Linux 32-bit (${{ matrix.name }})
191-
# path: |
192-
# build/reminecraftpe
193-
# build/assets
194-
# - name: Pack cache
195-
# run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
196-
197146
macos:
198147
strategy:
199148
fail-fast: false

.github/workflows/publish.yml

Lines changed: 10 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,17 @@ jobs:
1212
include:
1313
- name: x86_64 SDL 2
1414
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
15-
packages: 'libsdl2-dev'
15+
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
1616
runner: ubuntu-24.04
1717
arch: x86_64
18+
- name: i686 SDL 2
19+
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32'
20+
packages: 'gcc-multilib g++-multilib libsdl2-dev:i386 libopenal-dev:i386 zlib1g-dev:i386'
21+
runner: ubuntu-22.04
22+
arch: i686
1823
- name: aarch64 SDL 2
1924
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
20-
packages: 'libsdl2-dev'
25+
packages: 'libsdl2-dev libopenal-dev zlib1g-dev'
2126
runner: ubuntu-24.04-arm
2227
arch: aarch64
2328
name: Linux (${{ matrix.name }})
@@ -27,14 +32,15 @@ jobs:
2732
uses: actions/checkout@v6
2833
with:
2934
submodules: true
35+
- name: Enable i386 packages
36+
if: ${{ matrix.arch == 'i686' }}
37+
run: sudo dpkg --add-architecture i386
3038
- name: Install Dependencies
3139
run: |
3240
sudo apt-get update
3341
sudo apt-get install --no-install-recommends -y \
3442
build-essential \
3543
cmake ninja-build \
36-
libopenal-dev \
37-
zlib1g-dev \
3844
${{ matrix.packages }}
3945
- name: Build
4046
run: |
@@ -96,55 +102,6 @@ jobs:
96102
# with:
97103
# asset_paths: '["platforms/linux/build-flatpak/ReMCPE-Linux-${{ matrix.arch }}.flatpak"]'
98104

99-
# linux32:
100-
# strategy:
101-
# fail-fast: false
102-
# matrix:
103-
# include:
104-
# - name: SDL 2
105-
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
106-
# packages: 'libsdl2-dev:i386'
107-
# name: Linux 32-bit (${{ matrix.name }})
108-
# runs-on: ubuntu-24.04
109-
# steps:
110-
# - name: Checkout Repository
111-
# uses: actions/checkout@v6
112-
# with:
113-
# submodules: true
114-
# - name: Install Dependencies
115-
# run: |
116-
# sudo dpkg --add-architecture i386
117-
# sudo apt-get update
118-
# sudo apt-get install --no-install-recommends -y \
119-
# build-essential \
120-
# cmake ninja-build \
121-
# gcc-multilib g++-multilib \
122-
# libopenal-dev:i386 \
123-
# zlib1g-dev:i386 \
124-
# ${{ matrix.packages }}
125-
# - name: Build
126-
# run: |
127-
# mkdir build
128-
# cd build
129-
# cmake .. -GNinja \
130-
# -DCMAKE_BUILD_TYPE=Release \
131-
# -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
132-
# -DCMAKE_C_FLAGS='-m32' \
133-
# -DCMAKE_CXX_FLAGS='-m32' \
134-
# ${{ matrix.flags }}
135-
# cmake --build .
136-
# strip reminecraftpe
137-
# - name: Pack release
138-
# run: |
139-
# mkdir ReMCPE
140-
# mv game/assets build/reminecraftpe ReMCPE
141-
# tar -czf ReMCPE-Linux-x86.tar.gz ReMCPE
142-
# - uses: alexellis/upload-assets@0.4.1
143-
# env:
144-
# GITHUB_TOKEN: ${{ github.token }}
145-
# with:
146-
# asset_paths: '["ReMCPE-Linux-x86.tar.gz"]'
147-
148105
macos:
149106
strategy:
150107
fail-fast: false

CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,17 @@ endif()
1313

1414
# Warnings
1515
add_compile_options(-Wall -Wignored-qualifiers -Wvariadic-macros -pedantic -Wno-long-long -Wno-c++11-long-long -Wno-newline-eof -Wno-empty-translation-unit)
16-
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wc++11-extensions>)
16+
17+
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
18+
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
19+
set(ENABLE_WCXX11_EXTENSIONS ON)
20+
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
21+
set(ENABLE_WCXX11_EXTENSIONS ON)
22+
endif()
23+
if (ENABLE_WCXX11_EXTENSIONS)
24+
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wc++11-extensions>)
25+
endif()
26+
1727
if(WERROR)
1828
add_compile_options(-Werror)
1929
endif()

0 commit comments

Comments
 (0)