forked from RbxStu/RbxStu-V2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
187 lines (149 loc) · 5.47 KB
/
CMakeLists.txt
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
cmake_minimum_required(VERSION 3.29)
project(Module)
add_definitions(-DLUAI_GCMETRICS) # Force GC metrics on Luau.
option(CAPSTONE_X86_SUPPORT "Enable x86 capstone" ON)
set(BUILD_SHARED_LIBS OFF)
set(PROJECT_NAME Module)
set(CMAKE_CXX_STANDARD 23)
add_library(Module SHARED
main.cpp
Logger.cpp
Logger.hpp
Scanner.cpp
Scanner.hpp
Utilities.cpp
Utilities.hpp
Scheduler.hpp
Scheduler.cpp
Security.hpp
Security.cpp
# Managers
RobloxManager.cpp
RobloxManager.hpp
LuauManager.cpp
LuauManager.hpp
ClosureManager.cpp
ClosureManager.hpp
# Roblox Definitions
Roblox/TypeDefinitions.hpp
Roblox/TypeDefinitions.hpp
# Environment
Environment/EnvironmentManager.cpp
Environment/EnvironmentManager.hpp
# Environment -> Libraries
Environment/Libraries/Globals.cpp
Environment/Libraries/Globals.hpp
Environment/Libraries/Debug.cpp
Environment/Libraries/Debug.hpp
Environment/Libraries/Filesystem.cpp
Environment/Libraries/Filesystem.hpp
Environment/Libraries/Closures.cpp
Environment/Libraries/Closures.hpp
Environment/Libraries/Metatable.cpp
Environment/Libraries/Metatable.hpp
Environment/Libraries/Cache.cpp
Environment/Libraries/Cache.hpp
Environment/Libraries/Console.cpp
Environment/Libraries/Console.hpp
Environment/Libraries/Script.cpp
Environment/Libraries/Script.hpp
Environment/Libraries/Misc.cpp
Environment/Libraries/Misc.hpp
Environment/Libraries/Instance.cpp
Environment/Libraries/Instance.hpp
Environment/Libraries/Input.cpp
Environment/Libraries/Input.hpp
Environment/Libraries/WebSocket.cpp
Environment/Libraries/WebSocket.hpp
Environment/Libraries/Http.cpp
Environment/Libraries/Http.hpp
# Disassembler abstraction
Disassembler/Disassembler.cpp
Disassembler/Disassembler.hpp
Disassembler/DisassemblyRequest.hpp
Disassembler/DisassembledChunk.cpp
Disassembler/DisassembledChunk.hpp
# Communication
Communication/Communication.cpp
Communication/Communication.hpp
Communication/PacketSerdes.cpp
Communication/PacketSerdes.hpp
# Communication -> Packets
Communication/Packets/PacketBase.hpp
Communication/Packets/SetSafeModePacket.hpp
Communication/Packets/SetFunctionBlockStatePacket.hpp
Communication/Packets/SetNativeCodeGenPacket.hpp
Communication/Packets/SetFastVariablePacket.hpp
Communication/Packets/SetExecutionDataModelPacket.hpp
Communication/Packets/HttpConfigurationPacket.hpp
Communication/Packets/HelloPacket.hpp
Communication/Packets/ResponseStatusPacket.hpp
Communication/Packets/ScheduleLuauPacket.hpp
Communication/Packets/DataModelUpdatePacket.hpp
Communication/Packets/ScheduleLuauResponsePacket.hpp
Communication/Packets/SetScriptSourceAccessPacket.hpp
# Mod Loader
ModLoader/ModBase.h # To be included by mod writers.
ModLoader/ModBase.cpp # Implementation with proxy calls to ModManager.
ModLoader/ModManager.cpp
ModLoader/ModManager.hpp
# VSCode Debugging Support
Debugger/DebuggerManager.cpp
Debugger/DebuggerManager.hpp
Debugger/Packets/DebuggerPacketBase.h
)
target_include_directories(Module PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
target_include_directories(Module PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies")
# Dependencies
# Curl For People
# FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/libcpr/cpr.git
# GIT_TAG 3b15fa82ea74739b574d705fea44959b58142eb8)
# FetchContent_MakeAvailable(cpr)
#rcmp
# FetchContent_Declare(rcmp GIT_REPOSITORY https://github.com/Smertig/rcmp.git
# GIT_TAG f5f75ae00a57c67fe41f79fd59c4b7f6997b999e)
# FetchContent_MakeAvailable(rcmp)
# cpr
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/cpr")
# Luau
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/Luau")
# minhook
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/Minhook")
# IXWebSocket
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/IXWebSocket")
# cryptopp
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/cryptopp-cmake")
# capstone
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/Capstone")
find_package(lz4 CONFIG REQUIRED)
find_package(OpenSSL CONFIG REQUIRED)
find_package(nlohmann_json CONFIG REQUIRED)
add_library(ThemidaSDK STATIC IMPORTED)
set_target_properties(ThemidaSDK PROPERTIES
IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/ThemidaSDK/lib/SecureEngineSDK64.lib"
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/ThemidaSDK"
)
target_include_directories(Module PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/ThemidaSDK")
target_link_libraries(${PROJECT_NAME}
PUBLIC
# minhook
minhook
# Curl For People
cpr::cpr
# Luau
Luau.Compiler
Luau.Ast
# Luau.Analysis
Luau.VM
Luau.VM.Internals
Luau.EqSat
Luau.CodeGen
ixwebsocket
lz4::lz4
cryptopp::cryptopp
capstone
nlohmann_json::nlohmann_json
# ThemidaSDK
Dbghelp.lib
Ws2_32.lib
)