blob: 4d785a1209cb168b4acec6fa7ae310192bb6bccf [file] [log] [blame]
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