Configure CMake for building WASM using Emscripten

This commit is contained in:
2022-08-04 02:14:22 +02:00
parent 1cc2b62448
commit b3f9c31943
7 changed files with 419 additions and 206 deletions

View File

@@ -5,6 +5,12 @@ project(Example.GameLib)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/GameLib)
if (EMSCRIPTEN)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_SDL=2 -O2 -Wno-implicit-function-declaration -DEMSCRIPTEN")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_SDL=2 --preload-file ${CMAKE_CURRENT_SOURCE_DIR}/data@/data -s TOTAL_MEMORY=134217728 -lidbfs.js")
SET(CMAKE_EXECUTABLE_SUFFIX ".html")
endif()
# -------------------------------------------------------------
# ----- Example.GameLib

View File

@@ -0,0 +1,5 @@
#! /bin/sh
(sleep 1 && xdg-open http://localhost:8081) &
php -S 0.0.0.0:8081 -t DIST/web

View File

@@ -4,9 +4,16 @@ if test -f /c/emsdk/emsdk_env.sh; then
source /c/emsdk/emsdk_env.sh
fi
make arch=emscripten full-clean
make arch=emscripten
if test -d cmake-build-emscripten; then
rm -rf cmake-build-emscripten
fi
mkdir cmake-build-emscripten
cd cmake-build-emscripten
emcmake cmake ..
make
cd ..
mkdir -p DIST/web
cp -Rv web/* DIST/web/
cp -Rv build-emscripten/game.* DIST/web/
cp -Rv cmake-build-emscripten/game.* DIST/web/