-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpremake5.lua
59 lines (40 loc) · 1.34 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
workspace "lava-renderer"
location "."
language "C++"
architecture "x86_64"
cppdialect "C++17"
-- Configurations
configurations { "debug", "fast-compile", "release" }
includedirs "include"
if os.getenv("CXX") ~= nil and string.sub(os.getenv("CXX"), 1, 7) == "clang++" then
toolset "clang"
end
-- Warnings
warnings "Extra"
filter { "toolset:gcc" }
buildoptions { "-fmax-errors=3 -fno-exceptions" }
filter { "toolset:clang"}
buildoptions { "-ferror-limit=3" }
-- Configurations
filter { "configurations:debug" }
symbols "on"
optimize "off"
-- vulkan.hpp was not ready for that
-- buildoptions { "-Wsuggest-override", "-Wsuggest-final-types", "-Wsuggest-final-methods" }
filter { "configurations:fast-compile" }
symbols "off"
optimize "debug"
filter { "configurations:release" }
symbols "off"
optimize "on"
-- For release only, copy all the shared libs @fixme Doing that for each individual example...
postbuildcommands { "cp -v external/lib/*.so* build/release/" }
filter {}
-- Targets
targetdir "build/%{cfg.longname}/"
objdir "build/%{cfg.longname}/obj/"
-- Includes
include "premake"
include "external"
include "source"
include "examples"