godot-xterm/addons/godot_xterm/native/docker-compose.yaml
Leroy Hopson e4fdf70bca
Support building for Windows using MinGW compiler
- Adds docker support for building Windows binaries on Linux.
- Update libuv to version 1.44.1.
- Use MinGW compiled 64bit Windows binaries for distribution.
2022-08-27 16:24:15 +12:00

113 lines
3 KiB
YAML

services:
javascript:
build:
context: .
dockerfile: javascript.Dockerfile
user: ${UID_GID}
volumes:
- .:/src
command:
- /bin/bash
- -c
- |
cd /src/thirdparty/godot-cpp
scons platform=javascript target=$${TARGET:-debug} -j$$(nproc)
cd /src
scons platform=javascript target=$${TARGET:-debug} -j$$(nproc)
godot-cpp-linux:
user: ${UID_GID}
build:
context: .
dockerfile: linux.Dockerfile
volumes:
- ./thirdparty/godot-cpp:/godot-cpp
working_dir: /godot-cpp
libuv-linux:
user: ${UID_GID}
build:
context: .
dockerfile: linux.Dockerfile
volumes:
- ./thirdparty/libuv:/libuv
working_dir: /libuv
command:
- /bin/bash
- -c
- |
target=$${TARGET:-release}
bits=$${BITS:-'64'}
mkdir build 2>/dev/null
args="-DCMAKE_BUILD_TYPE=$$target \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE"
if [[ $$bits -eq 32 ]]; then
args="$$args -DCMAKE_SYSTEM_PROCESSOR=i686 -DCMAKE_C_FLAGS=-m32";
else
args="$$args -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_C_FLAGS=";
fi
pushd build
cmake .. $$args
popd
cmake --build build
libgodot-xterm-linux:
user: ${UID_GID}
build:
context: .
dockerfile: linux.Dockerfile
volumes:
- .:/godot-xterm
working_dir: /godot-xterm
godot-cpp-windows:
user: ${UID_GID}
build:
context: .
dockerfile: windows.Dockerfile
volumes:
- ./thirdparty/godot-cpp:/godot-cpp
working_dir: /godot-cpp
command:
- /bin/bash
- -c
- |
scons platform=windows use_mingw=yes generate_bindings=yes target=$${TARGET:-release} bits=$${BITS:-64} -j$$(nproc)
libuv-windows:
user: ${UID_GID}
build:
context: .
dockerfile: windows.Dockerfile
volumes:
- ./thirdparty/libuv:/libuv
working_dir: /libuv
command:
- /bin/bash
- -c
- |
target=$${TARGET:-release}
bits=$${BITS:-'64'}
mkdir build 2>/dev/null
args="-DCMAKE_BUILD_TYPE=$$target \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE"
if [[ $$bits -eq 32 ]]; then
args="$$args -DCMAKE_SYSTEM_PROCESSOR=i686 -DCMAKE_C_FLAGS=-m32"
args="$$args -DCMAKE_TOOLCHAIN_FILE=/mingw-w64-i686.cmake"
else
args="$$args -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_C_FLAGS="
args="$$args -DCMAKE_TOOLCHAIN_FILE=/mingw-w64-x86_64.cmake"
fi
pushd build
cmake .. $$args
popd
cmake --build build
libgodot-xterm-windows:
user: ${UID_GID}
build:
context: .
dockerfile: windows.Dockerfile
volumes:
- .:/godot-xterm
working_dir: /godot-xterm
command:
- /bin/bash
- -c
- scons platform=windows use_mingw=yes target=$${TARGET:-release} bits=$${BITS:-64} -j$$(nproc)