-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathCMakeLists.txt
149 lines (134 loc) · 4.38 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
cmake_minimum_required(VERSION 3.16)
project(TFTrue)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_library(TFTrue SHARED
AutoUpdater.cpp AutoUpdater.h
MRecipient.cpp MRecipient.h
SDK.h
TFTrue.cpp TFTrue.h
bunnyhop.cpp bunnyhop.h
editablecommands.h
fov.cpp fov.h
items.cpp items.h
lib_json/json_batchallocator.h
lib_json/json_reader.cpp
lib_json/json_tool.h
lib_json/json_value.cpp
lib_json/json_writer.cpp
logs.cpp logs.h
sourcetv.cpp sourcetv.h
stats.cpp stats.h
tournament.cpp tournament.h
utils.cpp utils.h
)
set_target_properties(TFTrue PROPERTIES PREFIX "")
target_include_directories(TFTrue PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/common
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/public
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/public/tier0
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/public/tier1
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/game/shared
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/game/server
${CMAKE_CURRENT_SOURCE_DIR}/FunctionRoute
${CMAKE_CURRENT_SOURCE_DIR}/ModuleScanner
)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
target_compile_definitions(TFTrue PUBLIC
DEBUG
)
endif()
if(CMAKE_BUILD_TYPE STREQUAL Release)
target_compile_definitions(TFTrue PUBLIC
NDEBUG
)
endif()
if(UNIX)
target_compile_definitions(TFTrue PRIVATE
GNUC
LINUX
NO_MALLOC_OVERRIDE
POSIX
RAD_TELEMETRY_DISABLED
VERSION_SAFE_STEAM_API_INTERFACES
_LINUX
typeof=decltype
)
target_link_libraries(TFTrue PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/FunctionRoute/FunctionRoute.a
${CMAKE_CURRENT_SOURCE_DIR}/ModuleScanner/ModuleScanner.a
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/linux32/mathlib.a
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/linux32/tier1.a
"-L${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/linux32" libsteam_api.so
-"L${CMAKE_CURRENT_SOURCE_DIR}/bin" libtier0_srv.so libvstdlib_srv.so
)
target_compile_options(TFTrue PUBLIC
-Wall
-Wno-class-memaccess
-Wno-delete-non-virtual-dtor
-Wno-invalid-offsetof
-Wno-overloaded-virtual
-Wno-reorder
-Wno-sign-compare
-Wno-unknown-pragmas
-Wno-unused
-fno-strict-aliasing
-fpermissive
-fvisibility-inlines-hidden
-fvisibility=hidden
-m32
-march=pentium3
-mmmx
-msse
-std=c++11
)
target_link_options(TFTrue PUBLIC
-lrt
-m32
-Wl,--no-gnu-unique
-fuse-ld=gold
-static-libstdc++
-static-libgcc
-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version-script
)
if(CMAKE_BUILD_TYPE STREQUAL Release)
target_compile_options(TFTrue PUBLIC
-O3
-flto
)
target_link_options(TFTrue PUBLIC
-s
-flto
)
endif()
endif()
if(WIN32)
target_compile_definitions(TFTrue PUBLIC
RAD_TELEMETRY_DISABLED RAD_TELEMETRY_DISABLED
VERSION_SAFE_STEAM_API_INTERFACES
WIN32
_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH
_ALLOW_RUNTIME_LIBRARY_MISMATCH
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_DEPRECATE
_MBCS
_WIN32
)
set_property(TARGET TFTrue PROPERTY
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
target_link_libraries(TFTrue PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/FunctionRoute/FunctionRoute.lib
${CMAKE_CURRENT_SOURCE_DIR}/ModuleScanner/ModuleScanner.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/mathlib.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/steam_api.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/tier0.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/tier1.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/tier2.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/tier3.lib
${CMAKE_CURRENT_SOURCE_DIR}/source-sdk-2013/mp/src/lib/public/vstdlib.lib
legacy_stdio_definitions.lib
)
target_link_options(TFTrue PUBLIC
-OPT:REF
-SAFESEH:NO
)
endif()