50 lines
1.3 KiB
Lua
50 lines
1.3 KiB
Lua
add_rules("mode.debug", "mode.release")
|
|
|
|
set_languages("c++17")
|
|
|
|
-- set_warnings("all", "error")
|
|
|
|
if is_plat("wasm") then
|
|
set_toolchains("emcc")
|
|
end
|
|
|
|
-- Packages
|
|
add_requires("raylib", "box2d", "ldtkloader", "rapidjson")
|
|
|
|
target("game_jam_kit")
|
|
set_kind("binary")
|
|
add_files("src/*.cpp")
|
|
add_includedirs("src", { public = true })
|
|
add_packages("raylib", "box2d", "ldtkloader", "rapidjson")
|
|
|
|
-- Copy assets to output directory after build
|
|
after_build(function (target)
|
|
local outdir = target:targetdir()
|
|
os.mkdir(outdir)
|
|
os.cp("assets", outdir)
|
|
end)
|
|
|
|
-- Emscripten / WebAssembly specific settings
|
|
if is_plat("wasm") then
|
|
add_cxxflags("-O3", {force = true})
|
|
add_ldflags(
|
|
"-O3",
|
|
-- For in-browser wasm debugging.
|
|
-- "-g",
|
|
"-s USE_GLFW=3",
|
|
"-s ASYNCIFY",
|
|
"-s ALLOW_MEMORY_GROWTH=1",
|
|
"-s EXPORT_NAME=Module",
|
|
"-s EXPORTED_RUNTIME_METHODS=[ccall,cwrap]",
|
|
"-s FORCE_FILESYSTEM=1",
|
|
"-s ENVIRONMENT=web",
|
|
"-s WASM=1",
|
|
"-lwebsocket.js",
|
|
-- "--shell-file=web/shell_minimal.html",
|
|
-- Add files to the virtual file system.
|
|
"--preload-file", "assets@/assets",
|
|
{force = true}
|
|
)
|
|
set_extension(".html")
|
|
end
|