v4k-git-backup/tools/premake5.lua

130 lines
3.4 KiB
Lua

require "ninja"
-- workspace
workspace "project"
configurations { "devel", "debug", "release", "retail" }
location "../_project"
targetdir "../_%{cfg.buildcfg}"
configuration "windows"
platforms { "x64" }
buildoptions "/W1"
-- entrypoint "main"
-- buildoptions { "/utf-8" } "/W3", "/wd4996", "/wd4244", "/wd4305", "/wd4267"} -- "/EHsc-"}
-- links { "user32", "gdi32" }
-- flags { "/MT" }
configuration "linux"
links { "pthread", "X11", "m", "dl" }
filter "configurations:debug"
debugdir "../"
symbols "On"
optimize "Off"
kind "consoleApp" -- "WindowedApp"
filter "configurations:devel"
debugdir "../"
symbols "On"
optimize "On"
kind "consoleApp" -- "WindowedApp"
filter "configurations:release"
debugdir "../"
defines {"NDEBUG"}
symbols "Off"
optimize "On"
staticruntime "on"
runtime "Release"
kind "consoleApp" -- "WindowedApp"
filter "configurations:retail"
debugdir "../"
defines {"NDEBUG","ENABLE_RETAIL","main=WinMain"}
symbols "Off"
optimize "On"
staticruntime "on"
runtime "Release"
kind "WindowedApp"
-- dlls
project "engine"
language "C"
kind "SharedLib"
files {"../engine/v4k.c","../engine/v4k.h"}
includedirs {"../engine/"}
defines {"API=EXPORT"}
-- exes
project "editor"
language "C"
links {"engine"} defines {"API=IMPORT"}
files {
"../tools/editor/**.",
"../tools/editor/**.h*",
"../tools/editor/editor.c",
}
includedirs {
"../tools/editor/",
"../engine/",
}
project "editor2"
language "C"
files {
"../tools/editor/**.",
"../tools/editor/**.h*",
"../tools/editor/editor2.c",
}
includedirs {
"../tools/editor/",
"../engine/",
}
-- demos
function demos(static,...)
for _, name in ipairs({...}) do
project (name)
-- defaults()
uuid (os.uuid(name))
language "C"
includedirs {"../engine/", "../tools/editor/"}
links {"engine"} defines {"API="..static} -- kind "SharedLib" links {"engine"}
files {
"../demos/*"..name.."*.h*",
"../demos/*"..name.."*.c*",
"../demos/*"..name.."*.inl",
}
end
end
demos("IMPORT",
"00-loop", "00-script", "01-demo2d", "01-easing", "01-font", "01-ui",
"02-ddraw", "02-frustum", "03-anims", "04-actor", "06-material", "06-scene",
"07-netsync", "07-network", "08-audio", "08-video", "09-cubemap", "09-shadertoy",
"99-bt", "99-compute", "99-controller", "99-demo", "99-geom", "99-lod",
"99-pathfind","99-pbr", "99-spine", "99-sponza", "99-sprite"
)
demos("STATIC",
"99-nodes"
)
-- games
function games(...)
for _, name in ipairs({...}) do
project ("game-" .. name)
uuid (os.uuid("game-" .. name))
language "C++"
includedirs {"../engine/", "../tools/editor/"}
links {"engine"} defines {"API=IMPORT"} -- kind "SharedLib" links {"engine"}
files {
"../games/"..name.."/**.h*",
"../games/"..name.."/**.c*",
"../games/"..name.."/**.inl",
}
-- defaults()
end
end
-- games("untitled")