mirror of
https://github.com/rive-app/rive-cpp.git
synced 2026-01-18 21:21:17 +01:00
Moving wasm to separate repo
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -50,15 +50,13 @@ pubspec.lock
|
|||||||
*.DS_Store
|
*.DS_Store
|
||||||
|
|
||||||
# Generated docs
|
# Generated docs
|
||||||
rive/docs
|
docs
|
||||||
|
|
||||||
# Analysis results
|
# Analysis results
|
||||||
dev/analysis_report
|
dev/analysis_report
|
||||||
|
|
||||||
# Build directories
|
# Build directories
|
||||||
wasm/build
|
build/bin
|
||||||
rive/build/bin
|
|
||||||
wasm/custom_emcc
|
|
||||||
|
|
||||||
# Skia dependencies
|
# Skia dependencies
|
||||||
skia/dependencies/skia
|
skia/dependencies/skia
|
||||||
|
|||||||
172
build/_premake5.lua
Normal file
172
build/_premake5.lua
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
-- require "./premake-emscripten/emscripten"
|
||||||
|
|
||||||
|
|
||||||
|
-- local emcc_tools = {
|
||||||
|
-- cc = "emcc",
|
||||||
|
-- cxx = "emcc", -- cxx = "em++",
|
||||||
|
-- ar = "emar"
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- local clang = premake.tools.clang
|
||||||
|
|
||||||
|
-- premake.tools.emcc = {
|
||||||
|
-- gettoolname = function(cfg, tool)
|
||||||
|
-- return emcc_tools[tool]
|
||||||
|
-- end,
|
||||||
|
-- getdefines = clang.getdefines,
|
||||||
|
-- getundefines = clang.getundefines,
|
||||||
|
-- getincludedirs = clang.getincludedirs,
|
||||||
|
-- getforceincludes = clang.getforceincludes,
|
||||||
|
-- getlocalflags = clang.getlocalflags,
|
||||||
|
-- getcxxflags = function(cfg)
|
||||||
|
-- local flags = clang.getcxxflags(cfg)
|
||||||
|
-- print('--getcxxflags:')
|
||||||
|
-- table.foreachi(cfg.flags, function(value)
|
||||||
|
-- print('cfg value ' .. value)
|
||||||
|
-- end)
|
||||||
|
|
||||||
|
-- table.insertflat(flags, '-fno-rtti')
|
||||||
|
-- table.foreachi(flags, function(value)
|
||||||
|
-- print('cxx flag ' .. value)
|
||||||
|
-- end)
|
||||||
|
-- return flags
|
||||||
|
-- end,
|
||||||
|
-- getcppflags = clang.getcppflags,
|
||||||
|
-- getcflags = clang.getcflags,
|
||||||
|
-- getlinks = clang.getlinks,
|
||||||
|
-- getLibraryDirectories = clang.getLibraryDirectories,
|
||||||
|
-- getrunpathdirs = clang.getrunpathdirs,
|
||||||
|
-- getldflags = function(cfg)
|
||||||
|
-- local flags = clang.getldflags(cfg)
|
||||||
|
-- table.insertflat(flags, "-s EXPORT_NAME=\"RiveWasmTest\"")
|
||||||
|
-- return flags
|
||||||
|
-- end,
|
||||||
|
-- getmakesettings = clang.getmakesettings,
|
||||||
|
-- }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- function emcc.gettoolname(cfg, tool)
|
||||||
|
-- return emcc_tools[tool];
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- premake.tools.emcc.gettoolname = gettoolname
|
||||||
|
|
||||||
|
-- function premake.tools.emcc.gettoolname(cfg, tool)
|
||||||
|
-- return emcc_tools[tool]
|
||||||
|
-- end
|
||||||
|
|
||||||
|
|
||||||
|
workspace "rive"
|
||||||
|
configurations { "debug", "release" }
|
||||||
|
|
||||||
|
project "rive"
|
||||||
|
kind "StaticLib"
|
||||||
|
language "C++"
|
||||||
|
cppdialect "C++17"
|
||||||
|
targetdir "bin/%{cfg.buildcfg}"
|
||||||
|
objdir "obj/%{cfg.buildcfg}"
|
||||||
|
includedirs { "../include" }
|
||||||
|
|
||||||
|
files { "../src/**.cpp" }
|
||||||
|
|
||||||
|
filter "configurations:debug"
|
||||||
|
defines { "DEBUG" }
|
||||||
|
symbols "On"
|
||||||
|
|
||||||
|
filter "configurations:release"
|
||||||
|
defines { "RELEASE" }
|
||||||
|
optimize "On"
|
||||||
|
|
||||||
|
-- project "rive-wasm-runtimme"
|
||||||
|
-- rules { "MyWasmRule" }
|
||||||
|
-- kind "Utility"
|
||||||
|
|
||||||
|
-- rule "MyWasmRule"
|
||||||
|
-- display "My custom wasm compiler"
|
||||||
|
-- fileextension ".cpp"
|
||||||
|
|
||||||
|
-- buildmessage "Compiling to WASM"
|
||||||
|
-- buildcommands 'emcc -O3 --bind -o wasm_test.js -s FORCE_FILESYSTEM=0 -s MODULARIZE=1 -s NO_EXIT_RUNTIME=1 -s STRICT=1 -s WARN_UNALIGNED=1 -s ALLOW_MEMORY_GROWTH=1 -s DISABLE_EXCEPTION_CATCHING=1 -s WASM=1 -s EXPORT_NAME="WasmTest" -DSINGLE -DANSI_DECLARATORS -DTRILIBRARY -Wno-c++17-extensions -I../include --no-entry ../src/*/*.cpp'
|
||||||
|
-- buildcommands 'echo YOOOOOOOOOOOOOOO'
|
||||||
|
|
||||||
|
|
||||||
|
-- buildmessage 'Compiling %(Filename) with MyCustomCC'
|
||||||
|
-- buildcommands 'MyCustomCC.exe -c "%(FullPath)" -o "%(IntDir)/%(Filename).obj"'
|
||||||
|
-- buildoutputs '%(IntDir)/%(Filename).obj"'
|
||||||
|
|
||||||
|
|
||||||
|
-- project "rive-by-rules"
|
||||||
|
-- -- rules { "MyWasmRule" }
|
||||||
|
-- -- kind "None"
|
||||||
|
-- filter 'files:**.lua'
|
||||||
|
-- -- A message to display while this build step is running (optional)
|
||||||
|
-- buildmessage 'Compiling %{file.relpath}'
|
||||||
|
|
||||||
|
-- -- One or more commands to run (required)
|
||||||
|
-- buildcommands {
|
||||||
|
-- 'luac -o "%{cfg.objdir}/%{file.basename}.out" "%{file.relpath}"'
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- -- One or more outputs resulting from the build (required)
|
||||||
|
-- buildoutputs { '%{cfg.objdir}/%{file.basename}.c' }
|
||||||
|
|
||||||
|
-- -- One or more additional dependencies for this build command (optional)
|
||||||
|
-- buildinputs { 'path/to/file1.ext', 'path/to/file2.ext' }
|
||||||
|
|
||||||
|
|
||||||
|
-- project "rive.js"
|
||||||
|
-- kind "None"
|
||||||
|
-- toolset "emcc"
|
||||||
|
-- language "C++"
|
||||||
|
-- cppdialect "C++17"
|
||||||
|
|
||||||
|
-- buildoptions {
|
||||||
|
-- "--bind",
|
||||||
|
-- "-s FORCE_FILESYSTEM=0",
|
||||||
|
-- "-s MODULARIZE=1",
|
||||||
|
-- "-s NO_EXIT_RUNTIME=1",
|
||||||
|
-- "-s STRICT=1",
|
||||||
|
-- "-s WARN_UNALIGNED=1",
|
||||||
|
-- "-s ALLOW_MEMORY_GROWTH=1",
|
||||||
|
-- "-s DISABLE_EXCEPTION_CATCHING=1",
|
||||||
|
-- "-s WASM=1",
|
||||||
|
-- "-s EXPORT_NAME=\"RiveWasmTest\"",
|
||||||
|
-- "-DSINGLE",
|
||||||
|
-- "-DANSI_DECLARATORS",
|
||||||
|
-- "-DTRILIBRARY",
|
||||||
|
-- "-Wno-c++17-extensions",
|
||||||
|
-- "--no-entry"
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- targetdir "bin/%{cfg.buildcfg}"
|
||||||
|
-- objdir "obj/%{cfg.buildcfg}"
|
||||||
|
-- includedirs { "../include" }
|
||||||
|
|
||||||
|
-- files { "../src/**.cpp" }
|
||||||
|
|
||||||
|
-- postbuildcommands { "echo Running postbuild" }
|
||||||
|
|
||||||
|
-- filter "configurations:debug"
|
||||||
|
-- defines { "DEBUG" }
|
||||||
|
-- symbols "On"
|
||||||
|
|
||||||
|
-- filter "configurations:release"
|
||||||
|
-- defines { "RELEASE" }
|
||||||
|
-- optimize "On"
|
||||||
|
|
||||||
|
|
||||||
|
-- Clean Function --
|
||||||
|
newaction {
|
||||||
|
trigger = "clean",
|
||||||
|
description = "clean the build",
|
||||||
|
execute = function ()
|
||||||
|
print("clean the build...")
|
||||||
|
os.rmdir("./bin")
|
||||||
|
os.rmdir("./obj")
|
||||||
|
os.remove("Makefile")
|
||||||
|
-- no wildcards in os.remove, so use shell
|
||||||
|
os.execute("rm *.make")
|
||||||
|
print("build cleaned")
|
||||||
|
end
|
||||||
|
}
|
||||||
22
dev/test.sh
22
dev/test.sh
@@ -1,9 +1,25 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd test
|
pushd test &>/dev/null
|
||||||
# premake5 clean || exit 1
|
|
||||||
premake5 gmake || exit 1
|
OPTION=$1
|
||||||
|
|
||||||
|
if [ "$OPTION" = "help" ]
|
||||||
|
then
|
||||||
|
echo test.sh - run the tests
|
||||||
|
echo test.sh clean - clean and run the tests
|
||||||
|
exit
|
||||||
|
elif [ "$OPTION" = "clean" ]
|
||||||
|
then
|
||||||
|
echo Cleaning project ...
|
||||||
|
premake5 clean || exit 1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
premake5 gmake2 || exit 1
|
||||||
make -j7 || exit 1
|
make -j7 || exit 1
|
||||||
for file in ./build/bin/debug/*; do
|
for file in ./build/bin/debug/*; do
|
||||||
echo testing $file
|
echo testing $file
|
||||||
$file "$1"
|
$file "$1"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
popd &>/dev/null
|
||||||
@@ -34,12 +34,12 @@ buildoptions {
|
|||||||
|
|
||||||
includedirs {
|
includedirs {
|
||||||
"./include",
|
"./include",
|
||||||
"../../rive/include"
|
"../../include"
|
||||||
}
|
}
|
||||||
|
|
||||||
files {
|
files {
|
||||||
"../../rive/src/**.cpp", -- the Rive runtime source
|
"../../src/**.cpp", -- the Rive runtime source
|
||||||
"../../rive/test/**.cpp" -- the tests
|
"../../test/**.cpp" -- the tests
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user