| workspace 'rive' | |
| configurations {'debug', 'release'} | |
| require 'setup_compiler' | |
| RIVE_RUNTIME_DIR = os.getenv('RIVE_RUNTIME_DIR') or '../../../' | |
| SKIA_DIR_NAME = os.getenv('SKIA_DIR_NAME') or 'skia' | |
| BASE_DIR = path.getabsolute(RIVE_RUNTIME_DIR .. '/build') | |
| location('./') | |
| dofile(path.join(BASE_DIR, 'premake5.lua')) | |
| BASE_DIR = path.getabsolute(RIVE_RUNTIME_DIR .. '/skia/renderer/build') | |
| location('./') | |
| dofile(path.join(BASE_DIR, 'premake5.lua')) | |
| project 'rive_thumbnail_generator' | |
| kind 'ConsoleApp' | |
| language 'C++' | |
| cppdialect 'C++17' | |
| targetdir '%{cfg.system}/bin/%{cfg.buildcfg}' | |
| objdir '%{cfg.system}/obj/%{cfg.buildcfg}' | |
| includedirs { | |
| RIVE_RUNTIME_DIR .. '/include', | |
| RIVE_RUNTIME_DIR .. '/skia/renderer/include', | |
| RIVE_RUNTIME_DIR .. '/skia/dependencies/' .. SKIA_DIR_NAME, | |
| RIVE_RUNTIME_DIR .. '/skia/dependencies/' .. SKIA_DIR_NAME .. '/include/core', | |
| RIVE_RUNTIME_DIR .. '/skia/dependencies/' .. SKIA_DIR_NAME .. '/include/effects', | |
| RIVE_RUNTIME_DIR .. '/skia/dependencies/' .. SKIA_DIR_NAME .. '/include/gpu', | |
| RIVE_RUNTIME_DIR .. '/skia/dependencies/' .. SKIA_DIR_NAME .. '/include/config' | |
| } | |
| if os.host() == 'macosx' then | |
| links {'Cocoa.framework', 'rive', 'skia', 'rive_skia_renderer', 'rive_harfbuzz', 'rive_sheenbidi'} | |
| else | |
| links {'rive', 'rive_skia_renderer', 'skia', 'GL', 'rive_harfbuzz', 'rive_sheenbidi'} | |
| end | |
| libdirs { | |
| '../../../build/%{cfg.system}/bin/%{cfg.buildcfg}', | |
| '../../dependencies/skia/out/static', | |
| '../../renderer/build/%{cfg.system}/bin/%{cfg.buildcfg}' | |
| } | |
| files {'../src/**.cpp'} | |
| buildoptions {'-Wall', '-fno-exceptions', '-fno-rtti'} | |
| 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 | |
| } |