-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpremake5.lua
More file actions
115 lines (99 loc) · 3.03 KB
/
premake5.lua
File metadata and controls
115 lines (99 loc) · 3.03 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
-- Building
-- MsBuild XPlayer.sln /p:configuration=Release
workspace "TxEdit"
architecture "x64"
configurations { "Debug", "Release", "Dist" }
outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
includeDirs={}
includeDirs["glfw"]="packages/glfw/include"
includeDirs["SpdLog"]="packages/spdlog/include"
includeDirs["ImGui"]="packages/imgui"
includeDirs["Mini"]="packages/mINI/src/mini"
includeDirs["LunaSVG"]="packages/lunasvg/include"
includeDirs["UUID"]="packages/uuid_v4"
includeDirs["TreeSitter"]="packages/tree-sitter/lib/include"
includeDirs["nlohmann"]="packages/nlohmann"
-- /MP -- Multithreaded build
-- /MT -- Static Linking. Defines _MT
-- /MD -- Dynamic Linking. Defines _MT and _DLL
include "packages/glfw"
include "packages/imgui"
include "packages/lunasvg"
include "packages/tree-sitter"
include "packages/tree-sitter-c"
include "packages/tree-sitter-cpp"
include "packages/tree-sitter-python"
include "packages/tree-sitter-java"
include "packages/tree-sitter-json"
include "packages/tree-sitter-lua"
project "text_editor"
kind "ConsoleApp"
language "C++"
cppdialect "C++17"
targetdir "bin"
objdir "bin/obj"
pchheader "pch.h"
pchsource "src/pch.cpp"
-- libdirs{"D:/Projects/c++/txedit"}
links {
"glfw",
"ImGui",
"opengl32",
"LunaSVG",
"userenv",
"Shell32",
"pdh", -- for getting cpu usage pdh.h
"dwmapi",
"TreeSitter",
"TreeSitterC",
"TreeSitterCpp",
"TreeSitterJava",
"TreeSitterJson",
"TreeSitterLua",
"TreeSitterPython"
}
includedirs{
"src",
"%{includeDirs.glfw}",
"%{includeDirs.ImGui}",
"%{includeDirs.Mini}",
"%{includeDirs.LunaSVG}",
"%{includeDirs.SpdLog}",
"%{includeDirs.UUID}",
"%{includeDirs.TreeSitter}",
"%{includeDirs.nlohmann}"
}
files {
"src/**.cpp"
}
filter "system:windows"
systemversion "latest"
filter "configurations:Debug"
runtime "Debug"
symbols "On"
staticruntime "On" -- Ensure static runtime
optimize "Off"
characterset ("Unicode")
buildoptions { "/MP","/DEBUG:FULL","/utf-8"} -- "/MTd" Use /MTd for Debug static linking
defines {"GL_DEBUG"}
-- For Memory Leaks add this flag to defines DETECT_MEMORY_LEAKS_VLD
-- links{"vld"}
-- libdirs{"C:/Program Files (x86)/Visual Leak Detector/bin/Win64","C:/Program Files (x86)/Visual Leak Detector/lib/Win64"}
-- includedirs{"C:/Program Files (x86)/Visual Leak Detector/include"}
filter {"configurations:Release"}
runtime "Release"
optimize "On"
symbols "Off"
staticruntime "On"
buildoptions { "/MP","/utf-8" }
defines {"GL_DEBUG","_CRT_SECURE_NO_WARNINGS"}
filter "configurations:Dist"
kind "WindowedApp"
runtime "Release"
optimize "On"
symbols "Off"
staticruntime "On"
buildoptions { "/MP","/utf-8"}
linkoptions {"/ENTRY:mainCRTStartup"}
files { 'setup.rc', '**.ico' }
vpaths { ['./*'] = { '*.rc', '**.ico' }}