mirror of
https://github.com/antopilo/Nuake.git
synced 2026-01-01 05:48:14 +03:00
130 lines
3.4 KiB
Lua
130 lines
3.4 KiB
Lua
include "Nuake/Source/Nuake/Modules/Modules.lua"
|
|
|
|
project "Editor"
|
|
targetname ("Nuake Engine")
|
|
|
|
kind "ConsoleApp"
|
|
language "C++"
|
|
cppdialect "C++20"
|
|
staticruntime "On"
|
|
|
|
dependson { "NuakeNet" }
|
|
|
|
targetdir (binaryOutputDir)
|
|
objdir (intBinaryOutputDir)
|
|
debugdir (binaryOutputDir)
|
|
|
|
defines
|
|
{
|
|
table.unpack(globalDefines)
|
|
}
|
|
|
|
files
|
|
{
|
|
"Source/**.cpp",
|
|
"Source/**.h",
|
|
|
|
-- This isn't ideal, but it works...needs a proper way of doing this, but that's for another time
|
|
"Nuake/Thirdparty/entt/natvis/entt/*.natvis"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"../Nuake/Source",
|
|
"../Nuake/Vendors/pugixml",
|
|
"../Nuake/Vendors",
|
|
"../Nuake/Vendors/volk",
|
|
"../Nuake/Vendors/vulkan",
|
|
"../Nuake/Thirdparty/build",
|
|
"../Nuake/Thirdparty/yoga",
|
|
"../Nuake/Thirdparty/Coral/Coral.Native/Include/",
|
|
"../Nuake/Thirdparty/entt/src",
|
|
"../Nuake/Thirdparty/JoltPhysics",
|
|
"../Nuake/Thirdparty/recastnavigation/DebugUtils/Include",
|
|
"../Nuake/Thirdparty/recastnavigation/Detour/Include",
|
|
"../Nuake/Thirdparty/recastnavigation/DetourTileCache/Include",
|
|
"../Nuake/Thirdparty/vma/include",
|
|
"../Nuake/Thirdparty/msdf-atlas-gen",
|
|
"../Nuake/Thirdparty/msdf-atlas-gen/msdfgen",
|
|
"../Nuake/Thirdparty/msdf-atlas-gen/msdfgen/include",
|
|
"../Nuake/Thirdparty/yoga",
|
|
}
|
|
|
|
externalincludedirs
|
|
{
|
|
|
|
}
|
|
|
|
links
|
|
{
|
|
"Nuake",
|
|
"glad",
|
|
"GLFW",
|
|
"assimp",
|
|
"JoltPhysics",
|
|
"soloud",
|
|
"Coral.Native",
|
|
"DebugUtils",
|
|
"Detour",
|
|
"DetourCrowd",
|
|
"DetourTileCache",
|
|
"Recast",
|
|
"tracy",
|
|
"yoga",
|
|
"msdf-gen",
|
|
"msdf-atlas-gen",
|
|
"Freetype",
|
|
"vma"
|
|
}
|
|
|
|
libdirs
|
|
{
|
|
"%{cfg.debugdir}/",
|
|
}
|
|
|
|
local libCopyCmds = {}
|
|
|
|
local modules = {}
|
|
if _ACTION then
|
|
modules = loadModules("../Nuake/Source/Nuake/Modules")
|
|
print(#modules)
|
|
for _, m in ipairs(modules) do
|
|
print("m")
|
|
end
|
|
local libTargetDir = "%{cfg.debugdir}/"
|
|
local commands = getModuleLibCopy(modules, libTargetDir)
|
|
for _, command in ipairs(commands) do
|
|
table.insert(libCopyCmds, command)
|
|
print(command)
|
|
end
|
|
|
|
end
|
|
|
|
|
|
prebuildcommands {
|
|
'{ECHO} "Copying dxcompiler.dll to Working directory..."',
|
|
'{COPYFILE} "%{wks.location}Nuake/Thirdparty/dxc/bin/x64/dxcompiler.dll" "%{cfg.debugdir}/"',
|
|
'{ECHO} Copying Coral to Working directory...',
|
|
'{COPYFILE} "%{wks.location}Nuake/Thirdparty/Coral/Coral.Managed/bin/%{cfg.buildcfg}/Coral.Managed.dll" "%{cfg.debugdir}/"',
|
|
'{COPYFILE} "%{wks.location}Nuake/Thirdparty/Coral/Coral.Managed/bin/%{cfg.buildcfg}/Coral.Managed.runtimeconfig.json" "%{cfg.debugdir}/"',
|
|
'{COPYFILE} "%{wks.location}NuakeNet/Build/%{cfg.buildcfg}/Binaries/NuakeNet.dll" "%{cfg.debugdir}/"',
|
|
'xcopy /E /I /Y "%{wks.location}Data" "%{cfg.debugdir}\\Resources"',
|
|
table.unpack(libCopyCmds)
|
|
}
|
|
|
|
filter { "system:windows", "action:vs*"}
|
|
flags
|
|
{
|
|
"MultiProcessorCompile",
|
|
}
|
|
|
|
filter "configurations:Debug"
|
|
runtime "Debug"
|
|
symbols "on"
|
|
|
|
buildoptions { "/Zi" }
|
|
|
|
filter "configurations:Release"
|
|
runtime "Release"
|
|
optimize "on"
|