| workspace 'rive' | |
| configurations {'debug', 'release'} | |
| dependencies = os.getenv('DEPENDENCIES') | |
| rive = '../../' | |
| dofile(path.join(path.getabsolute(rive) .. '/build', 'premake5.lua')) | |
| project 'rive_tess_renderer' | |
| do | |
| kind 'StaticLib' | |
| language 'C++' | |
| cppdialect 'C++11' | |
| toolset 'clang' | |
| targetdir '%{cfg.system}/bin/%{cfg.buildcfg}' | |
| objdir '%{cfg.system}/obj/%{cfg.buildcfg}' | |
| includedirs { | |
| '../include', | |
| rive .. '/include', | |
| dependencies .. '/sokol', | |
| dependencies .. '/earcut.hpp/include/mapbox', | |
| dependencies .. '/libtess2/Include' | |
| } | |
| files { | |
| '../src/**.cpp', | |
| dependencies .. '/libtess2/Source/**.c' | |
| } | |
| buildoptions {'-Wall', '-fno-exceptions', '-fno-rtti', '-Werror=format'} | |
| filter 'configurations:debug' | |
| do | |
| buildoptions {'-g'} | |
| defines {'DEBUG'} | |
| symbols 'On' | |
| end | |
| filter 'configurations:release' | |
| do | |
| buildoptions {'-flto=full'} | |
| defines {'RELEASE', 'NDEBUG'} | |
| optimize 'On' | |
| end | |
| filter {'options:graphics=gl'} | |
| do | |
| defines {'SOKOL_GLCORE33'} | |
| end | |
| filter {'options:graphics=metal'} | |
| do | |
| defines {'SOKOL_METAL'} | |
| end | |
| filter {'options:graphics=d3d'} | |
| do | |
| defines {'SOKOL_D3D11'} | |
| end | |
| newoption { | |
| trigger = 'graphics', | |
| value = 'gl', | |
| description = 'The graphics api to use.', | |
| allowed = { | |
| {'gl'}, | |
| {'metal'}, | |
| {'d3d'} | |
| } | |
| } | |
| end | |
| project 'rive_tess_tests' | |
| do | |
| dependson 'rive_tess_renderer' | |
| dependson 'rive' | |
| kind 'ConsoleApp' | |
| language 'C++' | |
| cppdialect 'C++17' | |
| toolset 'clang' | |
| targetdir '%{cfg.system}/bin/%{cfg.buildcfg}' | |
| objdir '%{cfg.system}/obj/%{cfg.buildcfg}' | |
| includedirs { | |
| rive .. 'dev/test/include', -- for catch.hpp | |
| rive .. 'test', -- for things like rive_file_reader.hpp | |
| '../include', | |
| rive .. '/include', | |
| dependencies .. '/sokol', | |
| dependencies .. '/earcut.hpp/include/mapbox' | |
| } | |
| files { | |
| '../test/**.cpp', | |
| rive .. 'utils/no_op_factory.cpp' | |
| } | |
| links {'rive_tess_renderer', 'rive'} | |
| buildoptions {'-Wall', '-fno-exceptions', '-fno-rtti', '-Werror=format'} | |
| defines {'TESTING'} | |
| filter 'configurations:debug' | |
| do | |
| buildoptions {'-g'} | |
| defines {'DEBUG'} | |
| symbols 'On' | |
| end | |
| filter 'configurations:release' | |
| do | |
| buildoptions {'-flto=full'} | |
| defines {'RELEASE', 'NDEBUG'} | |
| optimize 'On' | |
| end | |
| end |