closer to web build

This commit is contained in:
2025-04-29 12:43:17 -05:00
parent f68e45f898
commit 2bd93ff9e0
2 changed files with 33 additions and 22 deletions

View File

@@ -3,17 +3,20 @@ c = 'emcc'
cpp = 'em++'
ar = 'emar'
strip = 'emstrip'
cmake = 'emcmake'
pkg-config = 'empkg-config'
pkg-config = 'pkg-config'
exe_wrapper = 'node'
[host_machine]
system = 'emscripten'
cpu_family = 'wasm64'
cpu = 'wasm64'
cpu_family = 'wasm32'
cpu = 'wasm32'
endian = 'little'
[built-in options]
c_args = ['-pthread']
cpp_args = ['-pthread']
c_link_args = ['-pthread']
cpp_link_args = ['-pthread']
pkg_config_path = '$EMSDK/upstream/emscripten/cache/sysroot/lib/pkgconfig'
cmake_prefix_path = '$EMSDK/upstream/emscripten/cache/sysroot'
[properties]
needs_exe_wrapper = true
cmake_system_name = 'Emscripten'
sys_root = '@env:EMSDK@/upstream/emscripten/cache/sysroot'

View File

@@ -104,23 +104,19 @@ endif
if host_machine.system() == 'emscripten'
link += '-sUSE_WEBGPU'
# Use the Emscripten toolchain file when building with cmake subprojects:
sdl3_opts.add_cmake_defines({
'CMAKE_TOOLCHAIN_FILE': meson.current_source_dir() / 'Emscripten.cmake',
'CMAKE_BUILD_TYPE': 'Release'
})
# Use the pre-installed copy
deps += dependency('sdl3',
static : true,
method : 'pkg-config', # or 'cmake' if you prefer
required : true)
else
sdl3_proj = cmake.subproject('sdl3', options : sdl3_opts)
deps += sdl3_proj.dependency('SDL3-static')
endif
sdl3_proj = cmake.subproject('sdl3', options: sdl3_opts)
deps += sdl3_proj.dependency('SDL3-static')
tracy_opts = ['fibers=true', 'on_demand=true']
quickjs_opts = []
src += 'qjs_tracy.c'
add_project_arguments('-DTRACY_ENABLE', language:['c','cpp'])
deps += dependency('tracy', static:true, default_options:tracy_opts)
quickjs_opts += 'default_library=static'
deps += dependency('quickjs', static:true, default_options:quickjs_opts)
deps += dependency('qjs-layout', static:true)
@@ -128,7 +124,19 @@ deps += dependency('qjs-miniz', static:true)
deps += dependency('physfs', static:true)
deps += dependency('threads')
deps += dependency('chipmunk', static:true)
deps += dependency('enet', static:true)
if host_machine.system() != 'emscripten'
deps += dependency('enet', static:true)
src += 'qjs_enet.c'
src += 'qjs_tracy.c'
tracy_opts = ['fibers=true', 'on_demand=true']
add_project_arguments('-DTRACY_ENABLE', language:['c','cpp'])
deps += dependency('tracy', static:true, default_options:tracy_opts)
src += 'qjs_dmon.c'
endif
deps += dependency('soloud', static:true)
deps += dependency('libqrencode', static:true)
@@ -137,7 +145,7 @@ sources = []
src += [
'anim.c', 'config.c', 'datastream.c','font.c','HandmadeMath.c','jsffi.c','model.c',
'render.c','simplex.c','spline.c', 'transform.c','prosperon.c', 'wildmatch.c',
'sprite.c', 'rtree.c', 'qjs_dmon.c', 'qjs_nota.c', 'qjs_enet.c', 'qjs_soloud.c',
'sprite.c', 'rtree.c', 'qjs_nota.c', 'qjs_soloud.c',
'qjs_qr.c', 'qjs_wota.c', 'monocypher.c', 'qjs_blob.c', 'qjs_crypto.c', 'qjs_time.c'
]
# quirc src