-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPremake5.lua
88 lines (71 loc) · 1.89 KB
/
Premake5.lua
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
79
80
81
82
83
84
85
86
87
88
if os.getenv("VULKAN_SDK") == nil then
print("You need to install Vulkan SDK, or set %VULKAN_SDK% env varialbe.")
os.exit(-1)
end
workspace("MineClone")
architecture("x86_64")
startproject("MineClone")
configurations({
"Debug",
"Release",
"Dist"
})
flags({
"MultiProcessorCompile"
})
outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
group("Vendors")
include("MineClone/vendor/premake5.lua")
group("")
project("MineClone")
location("MineClone")
kind("ConsoleApp")
language("C++")
cppdialect("C++latest")
staticruntime("on")
targetdir("bin/" .. outputdir .. "/%{prj.name}")
objdir("bin-int/" .. outputdir .. "/%{prj.name}")
pchheader("mcpch.h")
pchsource("%{prj.name}/src/mcpch.cpp")
files({
"%{prj.name}/src/**.h",
"%{prj.name}/src/**.cpp",
"%{prj.name}/src/**.tpp",
"run/**",
"Premake5.lua"
})
defines({
"_CRT_SECURE_NO_WARNINGS",
"GLFW_INCLUDE_VULKAN"
})
includedirs({
"%{prj.name}/src", -- project
"%{prj.name}/vendor/glfw/include", -- GLFW
"%{prj.name}/vendor/glm", -- glm
"%{prj.name}/vendor/stb", -- stb
"%{prj.name}/vendor/ImGUI", -- ImGUI
os.getenv("VULKAN_SDK") .. "/Include", -- Vulkan
})
links({
"GLFW", -- GLFW
"ImGUI", -- ImGUI
os.getenv("VULKAN_SDK") .. "/Lib/vulkan-1.lib", -- Vulkan
})
debugdir("run")
filter("system:windows")
systemversion("latest")
filter("configurations:Debug")
runtime("Debug")
symbols("On")
defines({
"NDEBUG"
})
filter("configurations:Release")
runtime("Release")
optimize("on")
filter("configurations:Dist")
runtime("Release")
optimize("on")
defines({
"APP_DISTRIBUTION"
})