-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBuild.lua
More file actions
78 lines (62 loc) · 2.13 KB
/
Build.lua
File metadata and controls
78 lines (62 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
-- PL-Engine
workspace "PAL-Engine"
architecture "x64"
startproject "Editor"
configurations
{
"Debug",
"Release",
"Shipping"
}
flags
{
"MultiProcessorCompile"
}
prebuildcommands
{
"call %{wks.location}Source/Engine/res/shaders/compile.bat",
}
outputdir = "%{cfg.buildcfg}_%{cfg.system}"
VULKAN_SDK = os.getenv("VULKAN_SDK")
ProjectRoot = os.getcwd()
-- Include directories relative
IncludeDir = {}
IncludeDir["GLFW"] = "%{wks.location}/Source/Engine/vendor/GLFW/include"
IncludeDir["glm"] = "%{wks.location}/Source/Engine/vendor/glm-0.9.9.8/"
IncludeDir["stb_image"] = "%{wks.location}/Source/Engine/vendor/stb_image"
IncludeDir["imgui"] = "%{wks.location}/Source/Engine/vendor/imgui/"
IncludeDir["spdlog"] = "%{wks.location}/Source/Engine/vendor/spdlog/include"
IncludeDir["Instrumentation"] = "%{wks.location}/Source/Engine/vendor/Instrumentation/"
IncludeDir["VulkanSDK"] = "%{VULKAN_SDK}/Include"
IncludeDir["ECS"] = "%{wks.location}/Source/Engine/vendor/entt/single_include"
IncludeDir["VulkanMemoryAllocator"] = "%{wks.location}/Source/Engine/vendor/VulkanMemoryAllocator-3.0.1/include"
IncludeDir["Optick"] = "%{wks.location}/Source/Engine/vendor/optick/src/"
Library = {}
Library["Vulkan"] = "%{VULKAN_SDK}/Lib/vulkan-1.lib"
-- Projects
group "Dependencies"
include "Source/Engine/vendor/GLFW/Build-GLFW.lua"
include "Source/Engine/vendor/imgui/Build-imgui.lua"
include "Source/Engine/vendor/optick/Build-optick.lua"
group ""
include "Source/Engine/Build-Engine.lua"
include "Source/Editor/Build-Editor.lua"
newaction {
trigger = "clean",
description = "Remove all binaries and intermediate binaries, and vs files.",
execute = function()
print("Removing binaries")
os.rmdir("./Binaries")
print("Removing intermediate binaries")
os.rmdir("./Intermediate")
print("Removing project files")
os.rmdir("./.vs")
print("Removing Profiler files")
os.rmdir("./Profiler")
os.remove("**.sln")
os.remove("**.vcxproj")
os.remove("**.vcxproj.filters")
os.remove("**.vcxproj.user")
print("Done")
end
}