blob: c2d5b580cbd95c7ab3387c75c4363a2677c738f3 [file] [log] [blame]
workspace "rive"
configurations {"debug", "release"}
BASE_DIR = path.getabsolute("../../../build")
location("./")
dofile(path.join(BASE_DIR, "premake5.lua"))
BASE_DIR = path.getabsolute("../../renderer/build")
location("./")
dofile(path.join(BASE_DIR, "premake5.lua"))
project "rive_viewer"
kind "ConsoleApp"
language "C++"
cppdialect "C++17"
targetdir "%{cfg.system}/bin/%{cfg.buildcfg}"
objdir "%{cfg.system}/obj/%{cfg.buildcfg}"
includedirs {
"../include",
"../../../include",
"../../renderer/include",
"../../dependencies/glfw/include",
"../../dependencies/skia",
"../../dependencies/skia/include/core",
"../../dependencies/skia/include/effects",
"../../dependencies/skia/include/gpu",
"../../dependencies/skia/include/config",
"../../dependencies/imgui",
"../../dependencies",
"../../dependencies/gl3w/build/include"
}
links {
"Cocoa.framework",
"IOKit.framework",
"CoreVideo.framework",
"rive",
"skia",
"rive_skia_renderer",
"glfw3"
}
libdirs {
"../../../build/%{cfg.system}/bin/%{cfg.buildcfg}",
"../../dependencies/glfw_build/src",
"../../dependencies/skia/out/static",
"../../renderer/build/%{cfg.system}/bin/%{cfg.buildcfg}"
}
files {
"../src/**.cpp",
"../../dependencies/gl3w/build/src/gl3w.c",
"../../dependencies/imgui/backends/imgui_impl_glfw.cpp",
"../../dependencies/imgui/backends/imgui_impl_opengl3.cpp",
"../../dependencies/imgui/imgui_widgets.cpp",
"../../dependencies/imgui/imgui.cpp",
"../../dependencies/imgui/imgui_tables.cpp",
"../../dependencies/imgui/imgui_draw.cpp"
}
buildoptions {"-Wall", "-fno-exceptions", "-fno-rtti"}
filter "configurations:debug"
buildoptions {"-g"}
defines {"DEBUG"}
symbols "On"
filter "configurations:release"
buildoptions {"-flto=full"}
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
}