blob: cb640473e575a18d2a4c808627ffed095f263ce1 [file] [log] [blame] [edit]
dofile('rive_build_config.lua')
local dependency = require('dependency')
sokol = dependency.github('luigi-rosso/sokol', 'support_transparent_framebuffer')
libtess2 = dependency.github('memononen/libtess2', 'master')
earcut = dependency.github('mapbox/earcut.hpp', 'master')
rive = '../'
dofile(path.join(path.getabsolute(rive), 'premake5_v2.lua'))
project('rive_tess_renderer')
do
kind('StaticLib')
includedirs({
'include',
rive .. '/include',
sokol,
earcut .. '/include/mapbox',
libtess2 .. '/Include',
})
files({ 'src/**.cpp', libtess2 .. '/Source/**.c' })
buildoptions({ '-Wall', '-fno-exceptions', '-fno-rtti', '-Werror=format' })
filter({ 'system:emscripten' })
do
defines({ 'SOKOL_GLCORE33' })
end
filter({ 'system:macosx' })
do
defines({ 'SOKOL_METAL' })
end
filter({ 'system:windows' })
do
defines({ 'SOKOL_D3D11' })
end
end
project('rive_tess_tests')
do
dependson('rive_tess_renderer')
dependson('rive')
kind('ConsoleApp')
includedirs({
rive .. 'tests/include', -- for catch.hpp and for things rive_file_reader.hpp
'include',
rive .. '/include',
sokol,
earcut .. '/include/mapbox',
libtess2 .. '/Include',
})
files({ 'test/**.cpp', rive .. 'utils/no_op_factory.cpp' })
links({ 'rive_tess_renderer', 'rive', 'rive_harfbuzz', 'rive_sheenbidi', 'rive_yoga' })
-- defines({ 'TESTING', 'YOGA_EXPORT=' })
filter({ 'system:macosx' })
do
links({
'Cocoa.framework',
'IOKit.framework',
'CoreVideo.framework',
'OpenGL.framework',
})
end
end