| workspace('rive') | |
| configurations({ 'debug', 'release' }) | |
| project('rivinfo') | |
| kind('ConsoleApp') | |
| language('C++') | |
| cppdialect('C++17') | |
| targetdir('%{cfg.system}/bin/%{cfg.buildcfg}') | |
| objdir('%{cfg.system}/obj/%{cfg.buildcfg}') | |
| includedirs({ | |
| '../../include', | |
| '../../test', | |
| '/usr/local/include', | |
| '/usr/include', | |
| }) | |
| if os.host() == 'macosx' then | |
| links({ | |
| 'Cocoa.framework', | |
| 'CoreFoundation.framework', | |
| 'IOKit.framework', | |
| 'Security.framework', | |
| 'bz2', | |
| 'iconv', | |
| 'lzma', | |
| 'rive', | |
| 'z', -- lib av format | |
| }) | |
| else | |
| links({ 'm', 'rive', 'z', 'dl' }) | |
| end | |
| libdirs({ | |
| '../../build/%{cfg.system}/bin/%{cfg.buildcfg}', | |
| '/usr/local/lib', | |
| '/usr/lib', | |
| }) | |
| files({ '../**.cpp', '../../utils/no_op_factory.cpp' }) | |
| buildoptions({ '-Wall', '-fno-rtti', '-g' }) | |
| filter('configurations:debug') | |
| defines({ 'DEBUG' }) | |
| symbols('On') | |
| filter('configurations:release') | |
| defines({ 'RELEASE' }) | |
| defines({ 'NDEBUG' }) | |
| optimize('On') | |
| -- Clean Function -- | |
| newaction({ | |
| trigger = 'clean', | |
| description = 'clean the build', | |
| execute = function() | |
| print('clean the build...') | |
| os.rmdir('./bin') | |
| os.rmdir('./obj') | |
| os.remove('Makefile') | |
| -- no wildcards in os.remove, so use shell | |
| os.execute('rm *.make') | |
| print('build cleaned') | |
| end, | |
| }) |