blob: 0018775f5bbda06d08e2cd4b1a4a24dc755a5863 [file] [log] [blame]
-- require "lfs"
-- Clean Function --
newaction {
trigger = 'clean',
description = 'clean the build',
execute = function()
print('clean the build...')
os.rmdir('build')
os.remove('Makefile')
-- no wildcards in os.remove, so use shell
os.execute('rm *.make')
print('build cleaned')
end
}
workspace 'rive'
configurations {'debug'}
dofile(path.join(path.getabsolute('../../dependencies/'), 'premake5_harfbuzz.lua'))
dofile(path.join(path.getabsolute('../../dependencies/'), 'premake5_sheenbidi.lua'))
dofile(path.join(path.getabsolute('../../dependencies/'), 'premake5_miniaudio.lua'))
project('tests')
do
kind 'ConsoleApp'
language 'C++'
cppdialect 'C++11'
targetdir 'build/bin/%{cfg.buildcfg}'
objdir 'build/obj/%{cfg.buildcfg}'
flags {'FatalWarnings'}
buildoptions {'-Wall', '-fno-exceptions', '-fno-rtti'}
exceptionhandling 'On'
includedirs {
'./include',
'../../include',
harfbuzz .. '/src',
sheenbidi .. '/Headers',
miniaudio
}
links {
'rive_harfbuzz',
'rive_sheenbidi'
}
files {
'../../src/**.cpp', -- the Rive runtime source
'../../test/**.cpp', -- the tests
'../../utils/**.cpp' -- no_op utils
}
defines {'TESTING', 'ENABLE_QUERY_FLAT_VERTICES', 'WITH_RIVE_TOOLS', 'WITH_RIVE_TEXT', 'WITH_RIVE_AUDIO'}
filter {'system:windows', 'files:../../src/audio/audio_engine.cpp'}
do
-- Too many warnings from miniaudio.h
removeflags {'FatalCompileWarnings'}
removebuildoptions {'-Wall'}
end
filter {'system:windows', 'toolset:clang'}
do
-- Too many warnings from miniaudio.h
buildoptions {
'-Wno-nonportable-system-include-path',
'-Wno-zero-as-null-pointer-constant',
'-Wno-missing-prototypes',
'-Wno-cast-qual',
'-Wno-format-nonliteral',
'-Wno-cast-align',
'-Wno-covered-switch-default',
'-Wno-comma',
'-Wno-tautological-type-limit-compare',
'-Wno-extra-semi-stmt',
'-Wno-tautological-constant-out-of-range-compare',
'-Wno-implicit-fallthrough',
'-Wno-implicit-int-conversion',
'-Wno-undef'
}
end
filter 'configurations:debug'
do
defines {'DEBUG'}
symbols 'On'
end
filter 'system:linux'
do
defines {'EXTERNAL_RIVE_AUDIO_ENGINE'}
links {'dl', 'pthread'}
end
filter 'system:windows'
do
removebuildoptions {
-- vs clang doesn't recognize these on windows
'-fno-exceptions',
'-fno-rtti'
}
architecture 'x64'
defines {
'_USE_MATH_DEFINES',
'_CRT_SECURE_NO_WARNINGS',
'_CRT_NONSTDC_NO_DEPRECATE'
}
end
end