blob: bebb582eac5a6bf97d6e215cc7c16e0a23aa023a [file] [log] [blame]
local dependency = require 'dependency'
sheenbidi = dependency.github('Tehreer/SheenBidi', 'v2.6')
workspace 'rive'
configurations {'debug', 'release'}
project 'rive_sheenbidi'
do
kind 'StaticLib'
language 'C'
toolset 'clang'
targetdir '%{cfg.system}/cache/bin/%{cfg.buildcfg}/'
objdir '%{cfg.system}/cache/obj/%{cfg.buildcfg}/'
includedirs {
sheenbidi .. '/Headers'
}
filter 'configurations:debug'
do
files {
sheenbidi .. '/Source/BidiChain.c',
sheenbidi .. '/Source/BidiTypeLookup.c',
sheenbidi .. '/Source/BracketQueue.c',
sheenbidi .. '/Source/GeneralCategoryLookup.c',
sheenbidi .. '/Source/IsolatingRun.c',
sheenbidi .. '/Source/LevelRun.c',
sheenbidi .. '/Source/PairingLookup.c',
sheenbidi .. '/Source/RunQueue.c',
sheenbidi .. '/Source/SBAlgorithm.c',
sheenbidi .. '/Source/SBBase.c',
sheenbidi .. '/Source/SBCodepointSequence.c',
sheenbidi .. '/Source/SBLine.c',
sheenbidi .. '/Source/SBLog.c',
sheenbidi .. '/Source/SBMirrorLocator.c',
sheenbidi .. '/Source/SBParagraph.c',
sheenbidi .. '/Source/SBScriptLocator.c',
sheenbidi .. '/Source/ScriptLookup.c',
sheenbidi .. '/Source/ScriptStack.c',
sheenbidi .. '/Source/StatusStack.c'
}
end
filter 'configurations:release'
do
files {
sheenbidi .. '/Source/SheenBidi.c'
}
end
buildoptions {
'-Wall',
'-ansi',
'-pedantic'
}
linkoptions {'-r'}
filter 'configurations:debug'
do
buildoptions {'-g', '-O0'}
defines {'DEBUG'}
symbols 'On'
end
filter 'configurations:release'
do
buildoptions {'-Oz'}
defines {'RELEASE', 'NDEBUG', 'SB_CONFIG_UNITY'}
optimize 'On'
end
filter 'system:windows'
do
removebuildoptions {
-- vs clang doesn't recognize these on windows
'-fno-exceptions',
'-fno-rtti'
}
architecture 'x64'
buildoptions {
'-Wno-c++98-compat',
'-Wno-c++98-compat-pedantic',
'-Wno-c99-extensions',
'-Wno-ctad-maybe-unsupported',
'-Wno-deprecated-copy-with-user-provided-dtor',
'-Wno-deprecated-declarations',
'-Wno-documentation',
'-Wno-documentation-pedantic',
'-Wno-documentation-unknown-command',
'-Wno-double-promotion',
'-Wno-exit-time-destructors',
'-Wno-float-equal',
'-Wno-global-constructors',
'-Wno-implicit-float-conversion',
'-Wno-newline-eof',
'-Wno-old-style-cast',
'-Wno-reserved-identifier',
'-Wno-shadow',
'-Wno-sign-compare',
'-Wno-sign-conversion',
'-Wno-unused-macros',
'-Wno-unused-parameter',
'-Wno-used-but-marked-unused',
'-Wno-cast-qual',
'-Wno-unused-template',
'-Wno-zero-as-null-pointer-constant',
'-Wno-extra-semi',
'-Wno-undef',
'-Wno-comma',
'-Wno-nonportable-system-include-path',
'-Wno-covered-switch-default',
'-Wno-microsoft-enum-value',
'-Wno-deprecated-declarations'
}
end
end