Skip to content

Commit

Permalink
Updated Premake Integration
Browse files Browse the repository at this point in the history
- Removed Premake5.exe
- Added light wrapper utilities for typical premake operations
- Added Quill as dependency (New Logger Library)
- Updated all existing premake files to use new light wrapper utilities
  • Loading branch information
NixAJ committed Jun 23, 2024
1 parent 2ece720 commit 332027d
Show file tree
Hide file tree
Showing 1,758 changed files with 20,972 additions and 17,461 deletions.
21 changes: 8 additions & 13 deletions Dependencies/Dependencies.lua
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
-- Dependencies
Engine.dependencyDir = path.getabsolute("Dependencies/", Engine.rootDir)

print("-- Creating Dependencies --")

Engine.dependencyGroup = (Engine.name .. "/Dependencies")
group (Engine.dependencyGroup)
Solution.Util.Print("-- Creating Dependencies --")
Solution.Util.ClearFilter()
Solution.Util.SetGroup(Solution.DependencyGroup)

local dependencies =
{
Expand All @@ -21,20 +18,18 @@ local dependencies =
"json/json.lua",
"refl-cpp/refl-cpp.lua",
"robinhood/robinhood.lua",
"spdlog/spdlog.lua",
"tracyprofiler/tracy.lua",
"typesafe/typesafe.lua",
"utfcpp/utfcpp.lua",
"luau/luau.lua",
"FidelityFX-SDK/FidelityFX.lua",
"quill/quill.lua",
"fidelityfx/fidelityfx.lua",
}

for k,v in pairs(dependencies) do
filter { }
include(v)
Solution.Util.ClearFilter()
end

filter { }
group (Engine.name)

print("-- Finished with Dependencies --\n")
Solution.Util.SetGroup("")
Solution.Util.Print("-- Finished with Dependencies --\n")
46 changes: 0 additions & 46 deletions Dependencies/FidelityFX-SDK/FidelityFX.lua

This file was deleted.

9 changes: 4 additions & 5 deletions Dependencies/base64/base64.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
local function Include()
local includePath = path.getabsolute("base64/", Engine.dependencyDir);
AddIncludeDirs(includePath)
end
local dep = Solution.Util.CreateDepTable("base64", {})

CreateDep("base64", Include)
Solution.Util.CreateDep(dep.Name, dep.Dependencies, function()
Solution.Util.SetIncludes(dep.Path)
end)
43 changes: 22 additions & 21 deletions Dependencies/catch2/catch2.lua
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
local dependencies = { }
local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" }
ProjectTemplate("Catch2", "StaticLib", path.getabsolute("catch2/", Engine.dependencyDir), Engine.binDir, dependencies, defines)
local dep = Solution.Util.CreateDepTable("Catch2", {})

local function IncludeCatch2()
local includePath = path.getabsolute("catch2/", Engine.dependencyDir);
AddIncludeDirs(includePath)
AddLinks("Catch2")
end
CreateDep("catch2", IncludeCatch2, dependencies)
Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function()
local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" }

local function IncludeCatch2WithMain()
local files =
{
path.getabsolute("catch2/**.h", Engine.dependencyDir),
path.getabsolute("catch2/**.cpp", Engine.dependencyDir)
}
AddFiles(files)
Solution.Util.SetLanguage("C++")
Solution.Util.SetCppDialect(20)

local includePath = path.getabsolute("catch2/", Engine.dependencyDir);
AddIncludeDirs(includePath)
local files = Solution.Util.GetFilesForCpp(dep.Path)
Solution.Util.SetFiles(files)
Solution.Util.SetIncludes(dep.Path)
Solution.Util.SetDefines(defines)
end)

AddDefines("DO_NOT_USE_WMAIN")
end
CreateDep("catch2-withmain", IncludeCatch2WithMain)
Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function()
Solution.Util.SetIncludes(dep.Path)
Solution.Util.SetLinks(dep.Name)
end)

Solution.Util.CreateDep(dep.NameLow .. "-withmain", dep.Dependencies, function()
local files = Solution.Util.GetFilesForCpp(dep.Path)
Solution.Util.SetFiles(files)
Solution.Util.SetIncludes(dep.Path)
Solution.Util.SetLinks(dep.Name)
Solution.Util.SetDefines({ "DO_NOT_USE_WMAIN" })
end)
49 changes: 15 additions & 34 deletions Dependencies/dxcompiler/dxcompiler.lua
Original file line number Diff line number Diff line change
@@ -1,37 +1,18 @@
local function Win64Link()
local links =
{
path.getabsolute("dxcompiler/lib/windows/dxcompiler.lib", Engine.dependencyDir)
}
local mod = Solution.Util.CreateDepTable("dxcompiler", {})

AddLinks(links)
end
local function LinuxLink()
local links =
{
path.getabsolute("dxcompiler/lib/linux/dxcompiler.so", Engine.dependencyDir)
}
Solution.Util.CreateDep(mod.Name, mod.Dependencies, function()
Solution.Util.SetIncludes(mod.Path .. "/include")

AddLinks(links)
end
Solution.Util.SetFilter("platforms:Win64", function()
local link = mod.Path .. "/lib/windows/dxcompiler.lib"
Solution.Util.SetLinks(link)
end)

Solution.Util.SetFilter("platforms:Linux", function()
local link = mod.Path .. "/lib/linux/dxcompiler.so"
Solution.Util.SetLinks(link)
end)
end)

local function Include()
local includeDir = path.getabsolute("dxcompiler/include", Engine.dependencyDir)
AddIncludeDirs(includeDir)

filter "platforms:Win64"
Win64Link()

filter "platforms:Linux"
LinuxLink()
end

CreateDep("dxcompiler", Include)

if os.istarget("windows") then
local libPath = path.getabsolute("dxcompiler/lib/windows/dxcompiler.dll", Engine.dependencyDir)
BuildSettings:Add("DXCompiler Dynamic Lib Path", libPath)
else
local libPath = path.getabsolute("dxcompiler/lib/linux/dxcompiler.so", Engine.dependencyDir)
BuildSettings:Add("DXCompiler Dynamic Lib Path", libPath)
end
local libPath = iif(os.istarget("windows"), mod.Path .. "/lib/windows/dxcompiler.dll", mod.Path .. "/lib/linux/dxcompiler.so")
BuildSettings:Add("DXCompiler Dynamic Lib Path", libPath)
39 changes: 18 additions & 21 deletions Dependencies/enkiTS/enkiTS.lua
Original file line number Diff line number Diff line change
@@ -1,34 +1,31 @@
local taskPriorities = BuildSettings:Get("EnkiTS Num Task Priorities")
local dep = Solution.Util.CreateDepTable("EnkiTS", {})

local function SetupLib()
local basePath = path.getabsolute("enkiTS/", Engine.dependencyDir)
local dependencies = { }
Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function()
local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" }

ProjectTemplate("EnkiTS", "StaticLib", nil, Engine.binDir, dependencies, defines)
Solution.Util.SetLanguage("C++")
Solution.Util.SetCppDialect(20)

local sourceDir = path.getabsolute("enkiTS/", basePath)
local includeDir = sourceDir
local sourceDir = dep.Path .. "/enkiTS"
local files =
{
sourceDir .. "/LockLessMultiReadPipe.h",
sourceDir .. "/TaskScheduler.h",
sourceDir .. "/TaskScheduler.cpp"
}
AddFiles(files)
Solution.Util.SetFiles(files)
Solution.Util.SetIncludes(dep.Path)
Solution.Util.SetDefines(defines)

AddIncludeDirs(includeDir)
local taskPriorities = BuildSettings:Get("EnkiTS Num Task Priorities")
Solution.Util.SetDefines({ "ENKITS_TASK_PRIORITIES_NUM=" .. tostring(taskPriorities) })
end)

AddDefines("ENKITS_TASK_PRIORITIES_NUM=" .. tostring(taskPriorities))
end
SetupLib()
Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function()
Solution.Util.SetIncludes(dep.Path)
Solution.Util.SetLinks(dep.Name)

local function Include()
local includeDir = path.getabsolute("enkiTS/", Engine.dependencyDir)
AddIncludeDirs(includeDir)

AddLinks("EnkiTS")
filter "platforms:Linux"
AddLinks("pthread")
end
CreateDep("enkiTS", Include)
Solution.Util.SetFilter("platforms:Linux", function()
Solution.Util.SetLinks("pthread")
end)
end)
9 changes: 4 additions & 5 deletions Dependencies/entt/entt.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
local function Include()
local includeDir = path.getabsolute("entt/", Engine.dependencyDir)
AddIncludeDirs(includeDir)
end
local dep = Solution.Util.CreateDepTable("entt", {})

CreateDep("entt", Include)
Solution.Util.CreateDep(dep.Name, dep.Dependencies, function()
Solution.Util.SetIncludes(dep.Path)
end)
Loading

0 comments on commit 332027d

Please sign in to comment.