Update files for javascript build and export

Adds some files to making building and export for HTML5 more convenient.
This commit is contained in:
Leroy Hopson 2021-06-15 13:54:35 +07:00
parent 2f4cbacf15
commit bdda1458c0
No known key found for this signature in database
GPG key ID: D2747312A6DB51AA
11 changed files with 83 additions and 26 deletions

0
misc/.gdignore Normal file
View file

4
misc/docker/Dockerfile Normal file
View file

@ -0,0 +1,4 @@
# For convenient building of the library and gdnative export templates targeted at the javacript platform.
FROM emscripten/emsdk:2.0.10
RUN apt-get update && apt-get install pkg-config python3 -y
RUN pip3 install scons

23
misc/export_templates/build.sh Executable file
View file

@ -0,0 +1,23 @@
#!/bin/sh
set -e
# Get the absolute path to the directory this script is in.
EXPORT_TEMPLATES_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
# Update git submodules.
GODOT_DIR=${EXPORT_TEMPLATES_DIR}/godot
if [ ! -d "$GODOT_DIR" ]; then
cd ${EXPORT_TEMPLATES_DIR}
git submodule update --init --recursive -- $GODOT_DIR
fi
# Use Docker to build HTML5 GDNative export templates.
UID_GID="0:0" docker-compose build javascript
# Debug
UID_GID="$(id -u):$(id -g)" docker-compose run -e TARGET=debug javascript
mv godot/bin/godot.javascript.debug.gdnative.zip godot/bin/webassembly_gdnative_debug.zip
### Release
UID_GID="$(id -u):$(id -g)" docker-compose run -e TARGET=release javascript
mv godot/bin/godot.javascript.opt.gdnative.zip godot/bin/webassembly_gdnative_release.zip

View file

@ -0,0 +1,12 @@
services:
javascript:
build: ../docker
user: ${UID_GID}
volumes:
- ./godot:/src
command:
- /bin/bash
- -c
- |
cd src
scons platform=javascript tools=no gdnative_enabled=yes target=$${TARGET} -j$$(nproc)

View file

@ -0,0 +1 @@
HTML5 GDNative export templates are not provided, this is just a convient script/docker-compose file for building them locally.