-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpremake5.lua
More file actions
73 lines (58 loc) · 2.15 KB
/
premake5.lua
File metadata and controls
73 lines (58 loc) · 2.15 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
workspace "GraphX"
configurations { "Debug", "Release", "ASan", "StaticAnalyzer" }
platforms { "Win64", "Linux" }
location "proj_files"
language "C++"
cppdialect "C++latest"
architecture "x86_64"
includedirs { "3rd_party/includes", "includes/" }
libdirs { "3rd_party/libs" }
filter "platforms:Win64"
system "windows"
defines "GX_WIN64"
filter "platforms:Linux"
system "linux"
defines "GX_LINUX"
filter "configurations:Debug"
symbols "ON"
defines {"GX_DEBUG", "GX_INDEV"}
filter "configurations:Release"
optimize "ON"
defines "GX_RELEASE"
symbols "OFF"
--tested only on msvc v19.34
filter "configurations:ASan"
symbols "ON"
defines {"GX_ASAN", "GX_INDEV"}
filter "configurations:StaticAnalyzer"
symbols "ON"
defines {"GX_STATIC_ANALYZER", "GX_INDEV"}
filter { "configurations:ASan", "toolset:clang" }
buildoptions "-fsanitize=address"
filter { "configurations:ASan", "toolset:msc-v143" }
buildoptions "/fsanitize=address /Z7 /DEBUG"
filter { "configurations:StaticAnalyzer", "toolset:msc-v143" }
buildoptions "/analyze /analyze:plugin EspxEngine.dll"
filter "toolset:clang"
buildoptions {
"-Wall", "-Wextra", "-Wpedantic", "-Wno-c++98-compat", "-Wno-c++98-compat-pedantic", "-Wno-pre-c++14-compat", "-Wno-pre-c++17-compat",
"-Wno-ctad-maybe-unsupported", "-Wno-c++20-compat", "-Wno-newline-eof"
}
filter "toolset:msc-v143"
buildoptions "/W3"
filter {}
project "GrpahX"
filename "gx"
location "%{wks.location}/gx"
kind "StaticLib"
targetdir "build/%{cfg.buildcfg}/%{cfg.platform}"
files { "src/**.cpp", "includes/**" }
includedirs { "includes/" }
links { "%{cfg.platform}/vulkan/vulkan-1.lib" }
project "TriangleExample"
targetdir "samples/build/%{cfg.buildcfg}/%{cfg.platform}"
filename "tri_example"
location "%{wks.location}/tri_example"
files { "samples/tri_example/**.cpp" }
links { "GrpahX" }
kind "ConsoleApp"