| 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++17' |
| toolset 'clang' |
| targetdir '%{cfg.system}/bin/%{cfg.buildcfg}' |
| objdir '%{cfg.system}/obj/%{cfg.buildcfg}' |
| includedirs { |
| '../include', |
| rive .. '/include', |
| dependencies .. '/sokol' |
| } |
| files { |
| '../src/**.cpp' |
| } |
| 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 |
| kind 'ConsoleApp' |
| language 'C++' |
| cppdialect 'C++17' |
| toolset 'clang' |
| targetdir '%{cfg.system}/bin/%{cfg.buildcfg}' |
| objdir '%{cfg.system}/obj/%{cfg.buildcfg}' |
| includedirs { |
| '../../dev/test/include', |
| '../include', |
| rive .. '/include', |
| dependencies .. '/sokol' |
| } |
| files { |
| '../test/**.cpp' |
| } |
| links {'rive_tess_renderer'} |
| 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 |