-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpremake5.lua
127 lines (109 loc) · 4.11 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
PROJECT_GENERATOR_VERSION = 2
newoption({
trigger = "gmcommon",
description = "Sets the path to the garrysmod_common (https://github.com/danielga/garrysmod_common) directory",
value = "path to garrysmod_common directory"
})
local gmcommon = assert(_OPTIONS.gmcommon or os.getenv("GARRYSMOD_COMMON"),
"you didn't provide a path to your garrysmod_common (https://github.com/danielga/garrysmod_common) directory")
include(gmcommon)
local LUASOCKET_FOLDER = "luasocket/src"
CreateWorkspace({name = "socket.core"})
defines("LUASOCKET_API=extern")
filter("system:windows")
includedirs("include")
CreateProject({name = "socket.core", serverside = true, manual_files = true})
files("source/socket.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
filter("system:windows")
links("ws2_32")
CreateProject({name = "socket.core", serverside = false, manual_files = true})
files("source/socket.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
filter("system:windows")
links("ws2_32")
CreateProject({name = "mime.core", serverside = true, manual_files = true})
files("source/mime.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
CreateProject({name = "mime.core", serverside = false, manual_files = true})
files("source/mime.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
CreateProject({name = "socket.unix", serverside = true, manual_files = true})
files("source/unix.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
CreateProject({name = "socket.unix", serverside = false, manual_files = true})
files("source/unix.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
if os.istarget("linux") or os.istarget("macosx") then
CreateProject({name = "socket.serial", serverside = true, manual_files = true})
files("source/serial.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
CreateProject({name = "socket.serial", serverside = false, manual_files = true})
files("source/serial.cpp")
links("luasocket") -- luasocket needs to be linked before lua_shared
IncludeLuaShared()
end
project("luasocket")
kind("StaticLib")
includedirs({_GARRYSMOD_COMMON_DIRECTORY .. "/include", LUASOCKET_FOLDER})
files({
LUASOCKET_FOLDER .. "/auxiliar.c",
LUASOCKET_FOLDER .. "/auxiliar.h",
LUASOCKET_FOLDER .. "/buffer.c",
LUASOCKET_FOLDER .. "/buffer.h",
LUASOCKET_FOLDER .. "/compat.c",
LUASOCKET_FOLDER .. "/compat.h",
LUASOCKET_FOLDER .. "/except.c",
LUASOCKET_FOLDER .. "/except.h",
LUASOCKET_FOLDER .. "/filter.h",
LUASOCKET_FOLDER .. "/inet.c",
LUASOCKET_FOLDER .. "/inet.h",
LUASOCKET_FOLDER .. "/io.c",
LUASOCKET_FOLDER .. "/io.h",
LUASOCKET_FOLDER .. "/luasocket.c",
LUASOCKET_FOLDER .. "/luasocket.h",
LUASOCKET_FOLDER .. "/mime.c",
LUASOCKET_FOLDER .. "/mime.h",
LUASOCKET_FOLDER .. "/options.c",
LUASOCKET_FOLDER .. "/options.h",
LUASOCKET_FOLDER .. "/pierror.h",
LUASOCKET_FOLDER .. "/select.c",
LUASOCKET_FOLDER .. "/select.h",
LUASOCKET_FOLDER .. "/tcp.c",
LUASOCKET_FOLDER .. "/tcp.h",
LUASOCKET_FOLDER .. "/timeout.c",
LUASOCKET_FOLDER .. "/timeout.h",
LUASOCKET_FOLDER .. "/udp.c",
LUASOCKET_FOLDER .. "/udp.h",
LUASOCKET_FOLDER .. "/unix.c",
LUASOCKET_FOLDER .. "/unix.h",
LUASOCKET_FOLDER .. "/unixdgram.c",
LUASOCKET_FOLDER .. "/unixdgram.h",
LUASOCKET_FOLDER .. "/unixstream.c",
LUASOCKET_FOLDER .. "/unixstream.h"
})
vpaths({
["Source files/*"] = LUASOCKET_FOLDER .. "/*.c",
["Header files/*"] = LUASOCKET_FOLDER .. "/*.h"
})
IncludeLuaShared()
filter("system:windows")
defines("_WINSOCK_DEPRECATED_NO_WARNINGS")
files({
LUASOCKET_FOLDER .. "/wsocket.c",
LUASOCKET_FOLDER .. "/wsocket.h"
})
links("ws2_32")
filter("system:not windows")
files({
LUASOCKET_FOLDER .. "/serial.c",
LUASOCKET_FOLDER .. "/usocket.c",
LUASOCKET_FOLDER .. "/usocket.h"
})