workspace 'rive'
configurations {'debug', 'release'}

require 'setup_compiler'

filter {'options:with_rive_tools'}
do
    defines {'WITH_RIVE_TOOLS'}
end
filter {'options:with_rive_text'}
do
    defines {'WITH_RIVE_TEXT'}
end
filter {}

dofile(path.join(path.getabsolute('../dependencies/'), 'premake5_harfbuzz.lua'))
dofile(path.join(path.getabsolute('../dependencies/'), 'premake5_sheenbidi.lua'))

project 'rive'
do
    kind 'StaticLib'
    language 'C++'
    cppdialect 'C++11'
    targetdir '%{cfg.system}/bin/%{cfg.buildcfg}'
    objdir '%{cfg.system}/obj/%{cfg.buildcfg}'
    includedirs {
        '../include',
        harfbuzz .. '/src',
        sheenbidi .. '/Headers'
    }

    files {'../src/**.cpp'}

    buildoptions {
        '-Wall',
        '-fno-exceptions',
        '-fno-rtti',
        '-Werror=format',
        '-Wimplicit-int-conversion',
        '-Werror=vla'
    }

    filter {'system:macosx'}
    do
        buildoptions {
            -- this triggers too much on linux, so just enable here for now
            '-Wimplicit-float-conversion'
        }
    end
    filter {'system:macosx', 'configurations:release'}
    do
        buildoptions {'-flto=full'}
    end
    filter {'system:ios'}
    do
        buildoptions {'-flto=full'}
    end
    filter 'system:windows'
    do
        architecture 'x64'
        defines {'_USE_MATH_DEFINES'}
        flags {'FatalCompileWarnings'}
        removebuildoptions {
            '-fno-exceptions',
            '-fno-rtti'
        }
    end
    filter {'system:ios', 'options:variant=system'}
    do
        buildoptions {
            '-mios-version-min=10.0 -fembed-bitcode -arch armv7 -arch arm64 -arch arm64e -isysroot ' ..
                (os.getenv('IOS_SYSROOT') or '')
        }
    end
    filter {'system:ios', 'options:variant=emulator'}
    do
        buildoptions {
            '-mios-version-min=10.0 -arch arm64 -arch x86_64 -arch i386 -isysroot ' .. (os.getenv('IOS_SYSROOT') or '')
        }
        targetdir '%{cfg.system}_sim/bin/%{cfg.buildcfg}'
        objdir '%{cfg.system}_sim/obj/%{cfg.buildcfg}'
    end

    filter {'system:android', 'configurations:release'}
    do
        buildoptions {'-flto=full'}
    end

    -- Is there a way to pass 'arch' as a variable here?
    filter {'system:android', 'options:arch=x86'}
    do
        targetdir '%{cfg.system}/x86/bin/%{cfg.buildcfg}'
        objdir '%{cfg.system}/x86/obj/%{cfg.buildcfg}'
    end

    filter {'system:android', 'options:arch=x64'}
    do
        targetdir '%{cfg.system}/x64/bin/%{cfg.buildcfg}'
        objdir '%{cfg.system}/x64/obj/%{cfg.buildcfg}'
    end
    filter {'system:android', 'options:arch=arm'}
    do
        targetdir '%{cfg.system}/arm/bin/%{cfg.buildcfg}'
        objdir '%{cfg.system}/arm/obj/%{cfg.buildcfg}'
    end
    filter {'system:android', 'options:arch=arm64'}
    do
        targetdir '%{cfg.system}/arm64/bin/%{cfg.buildcfg}'
        objdir '%{cfg.system}/arm64/obj/%{cfg.buildcfg}'
    end

    filter "system:emscripten"
    do
        buildoptions {"-pthread"}
    end

    filter 'configurations:debug'
    do
        defines {'DEBUG'}
        symbols 'On'
    end

    filter 'configurations:release'
    do
        defines {'RELEASE'}
        defines {'NDEBUG'}
        optimize 'On'
    end
end

newoption {
    trigger = 'variant',
    value = 'type',
    description = 'Choose a particular variant to build',
    allowed = {
        {'system', 'Builds the static library for the provided system'},
        {'emulator', 'Builds for an emulator/simulator for the provided system'}
    },
    default = 'system'
}

newoption {
    trigger = 'with_rive_tools',
    description = 'Enables tools usually not necessary for runtime.'
}

newoption {
    trigger = 'with_rive_text',
    description = 'Compiles in text features.'
}
