mirror of
https://github.com/nishiowo/nishbox
synced 2025-04-21 12:14:39 +00:00
188 lines
3.2 KiB
Lua
188 lines
3.2 KiB
Lua
workspace("NishBox")
|
|
configurations({
|
|
"Debug",
|
|
"Release"
|
|
})
|
|
platforms({
|
|
"Native",
|
|
"Win32",
|
|
"Win64"
|
|
})
|
|
defaultplatform("Native")
|
|
|
|
filter("platforms:Win32")
|
|
system("windows")
|
|
architecture("x86")
|
|
gccprefix("i686-w64-mingw32-")
|
|
|
|
filter("platforms:Win64")
|
|
system("windows")
|
|
architecture("x86_64")
|
|
gccprefix("x86_64-w64-mingw32-")
|
|
|
|
filter({})
|
|
|
|
newaction({
|
|
trigger = "clean",
|
|
description = "Clean the files",
|
|
execute = function()
|
|
os.rmdir("bin")
|
|
os.rmdir("obj")
|
|
os.rmdir("lib")
|
|
os.rmdir("engine/bin")
|
|
os.rmdir("engine/obj")
|
|
os.rmdir("engine/lib")
|
|
end
|
|
})
|
|
|
|
function msvc_filters()
|
|
-- Manifest fix by penguin2233
|
|
require('vstudio')
|
|
premake.override(premake.vstudio.vc200x, "generateManifest", function(base, cfg, toolset)
|
|
if cfg.flags.NoManifest then
|
|
premake.w('GenerateManifest="false"')
|
|
end
|
|
end)
|
|
filter({})
|
|
characterset("MBCS")
|
|
for k,rt in ipairs({"Debug", "Release"}) do
|
|
filter({
|
|
"options:cc=msc",
|
|
"options:engine=dynamic",
|
|
"configurations:" .. rt
|
|
})
|
|
runtime(rt)
|
|
staticruntime("Off")
|
|
filter({
|
|
"options:cc=msc",
|
|
"options:engine=static",
|
|
"configurations:" .. rt
|
|
})
|
|
runtime(rt)
|
|
staticruntime("On")
|
|
end
|
|
filter({})
|
|
end
|
|
|
|
include "engine"
|
|
|
|
project("EngineInfo")
|
|
filter("system:windows")
|
|
kind("WindowedApp")
|
|
filter("system:not windows")
|
|
kind("ConsoleApp")
|
|
filter({})
|
|
language("C")
|
|
targetdir("bin/%{cfg.buildcfg}/%{cfg.platform}")
|
|
targetname("nishbox_engineinfo")
|
|
includedirs({
|
|
"engine/include"
|
|
})
|
|
files({
|
|
"src/engineinfo/*.c"
|
|
})
|
|
removefiles({
|
|
"src/engineinfo/main_windows.c"
|
|
})
|
|
filter("system:windows")
|
|
removefiles({
|
|
"src/engineinfo/main_console.c"
|
|
})
|
|
files({
|
|
"src/engineinfo/main_windows.c"
|
|
})
|
|
filter({})
|
|
links({
|
|
"GoldFish"
|
|
})
|
|
-- Call this if you are gonna use my engine...
|
|
gf_link_stuffs("options:engine=static")
|
|
filter("system:windows")
|
|
defines({
|
|
"FD_ENGINEINFO"
|
|
})
|
|
files({
|
|
"src/*.rc"
|
|
})
|
|
filter("configurations:Debug")
|
|
defines({
|
|
"DEBUG"
|
|
})
|
|
symbols("On")
|
|
filter("configurations:Release")
|
|
defines({
|
|
"NDEBUG"
|
|
})
|
|
optimize("On")
|
|
msvc_filters()
|
|
|
|
project("NishBoxServer")
|
|
kind("ConsoleApp")
|
|
language("C")
|
|
targetdir("bin/%{cfg.buildcfg}/%{cfg.platform}")
|
|
targetname("nishbox_server")
|
|
includedirs({
|
|
"engine/include"
|
|
})
|
|
files({
|
|
"src/server/*.c"
|
|
})
|
|
links({
|
|
"GoldFish"
|
|
})
|
|
-- Call this if you are gonna use my engine...
|
|
gf_link_stuffs("options:engine=static")
|
|
filter("system:windows")
|
|
defines({
|
|
"FD_SERVER"
|
|
})
|
|
files({
|
|
"src/*.rc"
|
|
})
|
|
filter("configurations:Debug")
|
|
defines({
|
|
"DEBUG"
|
|
})
|
|
symbols("On")
|
|
filter("configurations:Release")
|
|
defines({
|
|
"NDEBUG"
|
|
})
|
|
optimize("On")
|
|
msvc_filters()
|
|
|
|
project("NishBox")
|
|
kind("ConsoleApp")
|
|
language("C")
|
|
targetdir("bin/%{cfg.buildcfg}/%{cfg.platform}")
|
|
targetname("nishbox")
|
|
includedirs({
|
|
"engine/include"
|
|
})
|
|
files({
|
|
"src/client/*.c"
|
|
})
|
|
links({
|
|
"GoldFish"
|
|
})
|
|
-- Call this if you are gonna use my engine...
|
|
gf_link_stuffs("options:engine=static")
|
|
filter("system:windows")
|
|
defines({
|
|
"FD_NISHBOX"
|
|
})
|
|
files({
|
|
"src/*.rc"
|
|
})
|
|
filter("configurations:Debug")
|
|
defines({
|
|
"DEBUG"
|
|
})
|
|
symbols("On")
|
|
filter("configurations:Release")
|
|
defines({
|
|
"NDEBUG"
|
|
})
|
|
optimize("On")
|
|
msvc_filters()
|