-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpremake5.lua
More file actions
113 lines (89 loc) · 1.97 KB
/
premake5.lua
File metadata and controls
113 lines (89 loc) · 1.97 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
-- globals
VULKAN_SDK = os.getenv('VULKAN_SDK')
VULKAN_LIBS = {
"glslang",
"shaderc",
"shaderc_util",
"shaderc_combined",
}
VULKAN_LIBS_RELEASE = {}
VULKAN_LIBS_DEBUG = {}
for k, v in pairs(VULKAN_LIBS) do
VULKAN_LIBS_RELEASE[k] = "%{VULKAN_SDK}/Lib/" .. v
VULKAN_LIBS_DEBUG[k] = "%{VULKAN_SDK}/Lib/" .. v .. "d"
end
-- workspace
workspace "fluids"
configurations { "Debug", "Release", "Production" }
platforms { "Win64" }
architecture "x64"
targetdir "build/%{cfg.buildcfg}/%{prj.name}"
objdir "build/obj/%{prj.name}"
filter "configurations:Debug"
defines {
"DEBUG",
}
symbols "On"
filter "configurations:Release"
defines {
"NDEBUG",
"RELEASE",
}
optimize "On"
symbols "On"
filter "configurations:Production"
defines {
"NDEBUG",
"PRODUCTION",
}
optimize "On"
filter "platforms:Win64"
system "Windows"
architecture "x64"
defines {
"SOLUTION_DIRECTORY=\"%{wks.location}\""
}
-- projects
include "vendor/zlib"
include "vendor/partio"
include "vendor/CompactNSearch"
project "fluids"
kind "ConsoleApp"
language "C++"
cppdialect "C++20"
includedirs {
"src",
"vendor",
"vendor/glm",
"vendor/yaml-cpp/include",
"vendor/stb_image",
"vendor/spdlog/include",
"vendor/imgui",
"vendor/partio/src",
"vendor/CompactNSearch/include",
"vendor/eigen/include",
"%{VULKAN_SDK}/Include",
}
files {
"src/**",
"vendor/imgui/backends/imgui_impl_vulkan.*",
"vendor/imgui/backends/imgui_impl_glfw.*",
}
links {
"vendor/glfw/glfw3",
"vendor/yaml-cpp/lib/%{cfg.buildcfg}/yaml-cpp",
"vendor/imgui/bin/%{cfg.buildcfg}/ImGui",
"%{VULKAN_SDK}/Lib/vulkan-1",
"partio",
"CompactNSearch",
}
pchheader "engine/hzpch.h"
pchsource "src/engine/hzpch.cpp"
-- Filters should come last.
-- See https://premake.github.io/docs/Filters/
filter "configurations:Debug"
links(VULKAN_LIBS_DEBUG)
filter "configurations:Release"
links(VULKAN_LIBS_RELEASE)
filter "configurations:Production"
links(VULKAN_LIBS_RELEASE)