mirror of
https://github.com/lihop/godot-xterm.git
synced 2024-11-22 09:40:25 +01:00
Update files for javascript build and export
Adds some files to making building and export for HTML5 more convenient.
This commit is contained in:
parent
2f4cbacf15
commit
bdda1458c0
11 changed files with 83 additions and 26 deletions
|
@ -2,7 +2,7 @@
|
|||
set -e
|
||||
|
||||
|
||||
# Get the absolute path to the directory this script is in.
|
||||
#GODOT_DIR Get the absolute path to the directory this script is in.
|
||||
NATIVE_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
||||
|
||||
|
||||
|
@ -34,6 +34,6 @@ scons generate_bindings=yes -j$(nproc)
|
|||
cd ${NATIVE_DIR}
|
||||
scons -j$(nproc)
|
||||
|
||||
echo "To Build libgodot-xterm for javascript platform inside a docker container, run:"
|
||||
echo 'UID_GID="$(id -u):$(id -g)" docker-compose run javascript-build'
|
||||
|
||||
# Use Docker to build libgodot-xterm javascript.
|
||||
UID_GID="0:0" docker-compose build javascript
|
||||
UID_GID="$(id -u):$(id -g)" docker-compose run javascript
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
services:
|
||||
javascript-build:
|
||||
build: misc/docker
|
||||
javascript:
|
||||
build: ../../../misc/docker
|
||||
user: ${UID_GID}
|
||||
volumes:
|
||||
- .:/godot
|
||||
- .:/src
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- |
|
||||
cd /src/thirdparty/godot-cpp
|
||||
scons platform=javascript target=debug -j$$(nproc)
|
||||
cd /src
|
||||
scons platform=javascript target=debug -j$$(nproc)
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
FROM ponders/godot-cpp-ci
|
||||
|
||||
RUN git clone https://github.com/emscripten-core/emsdk.git
|
||||
WORKDIR emsdk
|
||||
RUN ./emsdk install 2.0.10
|
||||
RUN ./emsdk activate 2.0.10
|
||||
RUN chmod -R 777 /emsdk
|
||||
WORKDIR /godot
|
||||
RUN apt-get update && apt-get install -y vim
|
||||
COPY ./build.sh /build.sh
|
||||
RUN chmod +x /build.sh
|
||||
CMD /build.sh
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
source /emsdk/emsdk_env.sh
|
||||
export EM_CACHE=/godot/.emcache
|
||||
cd /godot/thirdparty/godot-cpp
|
||||
scons platform=javascript -j$(nproc)
|
||||
cd /godot
|
||||
scons platform=javascript -j$(nproc)
|
|
@ -5,5 +5,9 @@ mkShell {
|
|||
scons
|
||||
|
||||
cacert # Required for git clone on GithHub actions runner.
|
||||
|
||||
# Used to build for javascript platform.
|
||||
docker
|
||||
docker-compose
|
||||
];
|
||||
}
|
||||
|
|
24
export_presets.cfg
Normal file
24
export_presets.cfg
Normal file
|
@ -0,0 +1,24 @@
|
|||
[preset.0]
|
||||
|
||||
name="HTML5"
|
||||
platform="HTML5"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter="misc/*, addons/godot_xterm/native/thirdparty/*"
|
||||
export_path="export/index.html"
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug="./misc/export_templates/godot/bin/webassembly_gdnative_debug.zip"
|
||||
custom_template/release="./misc/export_templates/godot/bin/webassembly_gdnative_release.zip"
|
||||
variant/export_type=2
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/experimental_virtual_keyboard=false
|
4
misc/docker/Dockerfile
Normal file
4
misc/docker/Dockerfile
Normal 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
23
misc/export_templates/build.sh
Executable 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
|
12
misc/export_templates/docker-compose.yaml
Normal file
12
misc/export_templates/docker-compose.yaml
Normal 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)
|
1
misc/export_templates/readme.txt
Normal file
1
misc/export_templates/readme.txt
Normal file
|
@ -0,0 +1 @@
|
|||
HTML5 GDNative export templates are not provided, this is just a convient script/docker-compose file for building them locally.
|
Loading…
Reference in a new issue