| 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 |