blob: dafc1e8754d980a70eb79050b4b815e1debabdbb [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',
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