-
Notifications
You must be signed in to change notification settings - Fork 0
/
premake5.lua
98 lines (89 loc) · 2.77 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
89
90
91
92
93
94
95
96
97
98
workspace "MouseGame"
configurations { "Debug", "Release", "Dist" }
architecture "x64"
project "MouseGame"
kind "ConsoleApp"
language "C++"
OutputDir = "%{cfg.system}-%{cfg.architecture}/%{cfg.buildcfg}"
targetdir("build/" .. OutputDir .. "/")
objdir("build/Intermediates" .. OutputDir .. "/")
files{
"source/**.h",
"source/**.hpp",
"source/**.c",
"source/**.cpp"
}
includedirs{
"Dependencies/SFML-2.6.1/include",
-- Engine headers
"source/Engine"
}
libdirs{"Dependencies/SFML-2.6.1/lib"}
-- Libs we need for SFML
links {
"opengl32.lib",
"freetype.lib",
"winmm.lib",
"gdi32.lib",
"openal32.lib",
"flac.lib",
"vorbisenc.lib",
"vorbisfile.lib",
"vorbis.lib",
"ogg.lib",
"ws2_32.lib"
}
-- Windows specific settings, maybe needed for Linux support we wont have
filter "system:windows"
cppdialect "C++17"
systemversion "latest"
defines { "GAME_PLATFORM_WINDOWS", "SFML_STATIC" }
-- Settings for different build modes
filter "configurations:Debug"
defines { "DEBUG", "ST_PLATFORM_WINDOWS" }
runtime "Debug"
symbols "On"
-- Debug variants for SFML libs
links {
"sfml-audio-s-d.lib",
"sfml-graphics-s-d.lib",
"sfml-network-s-d.lib",
"sfml-system-s-d.lib",
"sfml-window-s-d.lib"
}
postbuildcommands {
'{COPY} "%{wks.location}Dependencies/SFML-2.6.1/bin/openal32.dll" "%{cfg.targetdir}"'
}
filter "configurations:Release"
defines { "RELEASE", "ST_PLATFORM_WINDOWS" }
runtime "Release"
optimize "On"
symbols "On"
-- Normal release variants for SFML libs
links {
"sfml-audio-s.lib",
"sfml-graphics-s.lib",
"sfml-network-s.lib",
"sfml-system-s.lib",
"sfml-window-s.lib"
}
postbuildcommands {
'{COPYDIR} "%{wks.location}Assets" "%{cfg.targetdir}/Assets"',
'{COPY} "%{wks.location}Dependencies/SFML-2.6.1/bin/openal32.dll" "%{cfg.targetdir}"'
}
filter "configurations:Dist"
defines { "DIST", "ST_PLATFORM_WINDOWS" }
runtime "Release"
optimize "On"
symbols "Off"
links {
"sfml-audio-s.lib",
"sfml-graphics-s.lib",
"sfml-network-s.lib",
"sfml-system-s.lib",
"sfml-window-s.lib"
}
postbuildcommands {
'{COPYDIR} "%{wks.location}Assets" "%{cfg.targetdir}/Assets"',
'{COPY} "%{wks.location}Dependencies/SFML-2.6.1/bin/openal32.dll" "%{cfg.targetdir}"'
}