-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpremake5.lua
81 lines (71 loc) · 2.19 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
workspace "Vulkan Path Tracing"
architecture "x64"
configurations { "Debug", "Release", "Dist" }
startproject "Yeah"
include "external.lua"
project "ThroughThiccAndThinn"
kind "ConsoleApp"
language "C++"
cppdialect "C++20"
targetdir "bin/%{cfg.buildcfg}"
staticruntime "off"
files { "src/**.h", "src/**.cpp" , "src/**.hpp", "assets/shaders/**.vert", "assets/shaders/**.frag", "assets/shaders/**.comp", "assets/shaders/**.spv","assets/shaders/**.glsl", "models/**.obj"}
includedirs
{
"src",
"vendor/glfw/include",
"vendor/glm",
"vendor/stb_image",
"vendor/tiny_obj_loader",
"%{IncludeDir.VulkanSDK}",
"%{IncludeDir.glm}",
}
libdirs
{
"vendor/GLFW/lib-vc2022",
"vendor/imgui/bin/Debug-windows-x86_64/ImGui",
}
links
{
"glfw3",
"%{Library.Vulkan}",
}
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
openmp "On"
filter 'files:**.frag'
buildmessage 'Compiling %{file.relpath}'
buildcommands {
'glslc "%{file.relpath}" -o "assets/shaders/%{file.basename}.frag.spv"'
}
buildoutputs { "assets/shaders/%{file.basename}.frag.spv"}
filter 'files:**.vert'
buildmessage 'Compiling %{file.relpath}'
buildcommands {
'glslc "%{file.relpath}" -o "assets/shaders/%{file.basename}.vert.spv"'
}
buildoutputs { "assets/shaders/%{file.basename}.vert.spv"}
filter 'files:**.comp'
buildmessage 'Compiling %{file.relpath}'
buildcommands {
'glslc "%{file.relpath}" -o "assets/shaders/%{file.basename}.comp.spv"'
}
buildoutputs { "assets/shaders/%{file.basename}.comp.spv"}
filter "system:windows"
systemversion "latest"
defines { "WL_PLATFORM_WINDOWS" }
filter "configurations:Debug"
defines { "WL_DEBUG" }
runtime "Debug"
symbols "On"
filter "configurations:Release"
defines { "WL_RELEASE" }
runtime "Release"
optimize "On"
symbols "On"
filter "configurations:Dist"
kind "WindowedApp"
defines { "WL_DIST" }
runtime "Release"
optimize "On"
symbols "Off"