-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpremake5.lua
More file actions
101 lines (85 loc) · 3.13 KB
/
Copy pathpremake5.lua
File metadata and controls
101 lines (85 loc) · 3.13 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
-- Design456App
workspace "Design456App"
architecture "x64"
startproject "Design456App"
multiprocessorcompile "on"
configurations
{
"Debug",
"Release"
}
-- Set a single output directory
outputdir = "bin/"
debugdir (outputdir) -- This sets the working directory to bin/
-- Include directories relative to frtk
IncludeDir = {}
IncludeDir["Glad"] = "../frtk/vendor/Glad/include"
IncludeDir["imGui"] = "../frtk/vendor/imGui/src"
IncludeDir["ImGuizmo"] = "../frtk/vendor/ImGuizmo/src"
IncludeDir["spdlog"] = "../frtk/vendor/spdlog/include"
IncludeDir["glm"] = "../frtk/vendor/glm"
IncludeDir["yaml-cpp"] = "../frtk/vendor/yaml-cpp"
IncludeDir["GLFW"] = "../frtk/vendor/GLFW/include"
IncludeDir["objloader"] = "../frtk/vendor/objloader"
IncludeDir["OpenMesh"] = "../frtk/vendor/OpenMesh/src"
IncludeDir["freetype"] = "../frtk/vendor/freetype/include"
IncludeDir["nanovg"] = "../frtk/vendor/nanovg/src"
IncludeDir["tinyfiledialogs"] = "../frtk/vendor/tinyfiledialogs/src"
-- Configure projects
project "Design456App"
kind "ConsoleApp"
language "C++"
targetdir (outputdir ) -- Will output to bin
objdir ("bin_obj/") -- Object files also in respective folders
--[[ files
{
"src/**.cpp",
"include/**.h"
} ]]
--[[
***IMPORTANT!!!!***
Never, ever put any thing global after filters, LUA is not python and indentations doesn't tell the script anything
as soon as you put anything after the filter, it will be a part of that filter, taking the below line under filters,
will hide them and the compilation might fail depending on the filter type
]]
includedirs
{
IncludeDir["Glad"],
IncludeDir["GLFW"],
IncludeDir["imGui"],
IncludeDir["ImGuizmo"],
IncludeDir["objloader"],
IncludeDir["OpenMesh"],
IncludeDir["spdlog"],
IncludeDir["yaml-cpp"],
IncludeDir["freetype"],
IncludeDir["nanovg"],
IncludeDir["tinyfiledialogs"],
}
filter "configurations:Debug"
targetname "Design456AppD" -- Append 'D' for Debug builds
defines { "DEBUG" }
symbols "On"
filter "configurations:Release"
targetname "Design456App" -- No suffix for Release builds
defines { "NDEBUG" }
optimize "On"
-- Projects
-- Include other lua scripts and group them as dependencies
group "Dependencies"
include "frtk/vendor/GLFW"
include "frtk/vendor/Glad"
include "frtk/vendor/imGui"
include "frtk/vendor/ImGuizmo"
include "frtk/vendor/spdlog"
include "frtk/vendor/yaml-cpp"
include "frtk/vendor/objloader"
include "frtk/vendor/OpenMesh"
include "frtk/vendor/freetype"
include "frtk/vendor/nanovg"
include "frtk/vendor/tinyfiledialogs"
-- Don't remove the below line. Without this, the following names will be grouped as dependencies.
group ""
-- To include other lua script-projects
include "Design456App"
include "frtk"