Add a custom godot build template with reduced features for smaller exports - implements #15
This commit is contained in:
parent
288ddcbc5b
commit
862ef075ff
4 changed files with 53 additions and 1 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -13,6 +13,8 @@ data_*/
|
|||
mono_crash.*.json
|
||||
|
||||
# Builds
|
||||
*.x86_64
|
||||
godot.*.template_release.*
|
||||
dist/*
|
||||
!dist/.gitkeep
|
||||
|
||||
|
|
21
build-template/Containerfile
Normal file
21
build-template/Containerfile
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
MAINTAINER ChaoticByte
|
||||
|
||||
# Using Ubuntu 20.04
|
||||
FROM docker.io/ubuntu:focal AS os-base
|
||||
|
||||
# https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_linuxbsd.html
|
||||
|
||||
RUN apt-get update
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq build-essential scons pkg-config libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev libwayland-dev
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq git
|
||||
|
||||
FROM os-base AS clone-src
|
||||
|
||||
RUN git clone https://github.com/godotengine/godot.git -b 4.3-stable /godot-src
|
||||
|
||||
FROM clone-src
|
||||
|
||||
WORKDIR /godot-src
|
||||
ENTRYPOINT scons platform=linuxbsd target=template_release lto=full optimize=size disable_3d=yes module_text_server_adv_enabled=no module_text_server_fb_enabled=yes module_basis_universal_enabled=no module_csg_enabled=no module_dds_enabled=no module_enet_enabled=no module_gridmap_enabled=no module_hdr_enabled=no module_jsonrpc_enabled=no module_ktx_enabled=no module_mbedtls_enabled=no module_meshoptimizer_enabled=no module_minimp3_enabled=no module_mobile_vr_enabled=no module_msdfgen_enabled=no module_multiplayer_enabled=no module_navigation_enabled=no module_ogg_enabled=no module_openxr_enabled=no module_raycast_enabled=no module_squish_enabled=no module_svg_enabled=no module_tga_enabled=no module_theora_enabled=no module_tinyexr_enabled=no module_upnp_enabled=no module_vhacd_enabled=no module_vorbis_enabled=no module_webrtc_enabled=no module_websocket_enabled=no module_webxr_enabled=no module_zip_enabled=no arch=x86_64 && strip bin/godot.linuxbsd.template_release.x86_64
|
29
build-template/build.sh
Executable file
29
build-template/build.sh
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
function log {
|
||||
echo -e "\033[1;36m* $@\033[0m"
|
||||
}
|
||||
|
||||
log
|
||||
log "Fragmented - Godot Build Template Builder"
|
||||
log
|
||||
|
||||
cd $(dirname $0)
|
||||
log Switched to $(pwd)
|
||||
|
||||
tmpsuffix=$(date +%s%N)
|
||||
image_name=fragmented-godot-template-builder
|
||||
container_name=${image_name}-${tmpsuffix}
|
||||
output_file=godot.linuxbsd.template_release.x86_64
|
||||
|
||||
log Building image ${image_name} ...
|
||||
buildah build -t ${image_name}
|
||||
log Building godot build template with container ${container_name} ...
|
||||
podman run --name ${container_name} localhost/${image_name}:latest
|
||||
log Copying ${output_file} from container to $(realpath ./${output_file})
|
||||
podman cp ${container_name}:/godot-src/bin/${output_file} ./${output_file}
|
||||
log Removing container ${container_name}
|
||||
podman container rm ${container_name}
|
||||
log Done :D
|
|
@ -19,7 +19,7 @@ script_export_mode=2
|
|||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
custom_template/release="./build-template/godot.linuxbsd.template_release.x86_64"
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/s3tc_bptc=true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue