@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
2
2
include (GenerateExportHeader)
3
3
include (GNUInstallDirs)
4
4
5
- project (Zydis VERSION 2.0)
5
+ project (Zydis VERSION 2.0.2 )
6
6
7
7
# =============================================================================================== #
8
8
# Overridable options #
@@ -67,8 +67,19 @@ endif ()
67
67
# Library configuration #
68
68
# =============================================================================================== #
69
69
70
- add_library ("Zydis" )
70
+ function (_set_common_flags target )
71
+ if ("${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" OR
72
+ "${CMAKE_C_COMPILER_ID} " STREQUAL "Clang" OR
73
+ "${CMAKE_C_COMPILER_ID} " STREQUAL "AppleClang" )
74
+ target_compile_options ("${target} " PRIVATE "-std=c99" )
75
+ endif ()
76
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" )
77
+ target_compile_options ("${target} " PRIVATE "-fPIC" )
78
+ endif ()
79
+ endfunction ()
71
80
81
+ add_library ("Zydis" )
82
+ _set_common_flags("Zydis" )
72
83
target_include_directories ("Zydis"
73
84
PUBLIC "include" ${PROJECT_BINARY_DIR}
74
85
PRIVATE "src" )
@@ -170,11 +181,13 @@ install(DIRECTORY "include/" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
170
181
if (ZYDIS_BUILD_EXAMPLES)
171
182
if (ZYDIS_FEATURE_DECODER AND ZYDIS_FEATURE_FORMATTER)
172
183
add_executable ("FormatterHooks" "examples/FormatterHooks.c" )
184
+ _set_common_flags("FormatterHooks" )
173
185
target_link_libraries ("FormatterHooks" "Zydis" )
174
186
set_target_properties ("FormatterHooks" PROPERTIES FOLDER "Examples/Formatter" )
175
187
target_compile_definitions ("FormatterHooks" PRIVATE "_CRT_SECURE_NO_WARNINGS" )
176
188
177
189
add_executable ("ZydisFuzzIn" "examples/ZydisFuzzIn.c" )
190
+ _set_common_flags("ZydisFuzzIn" )
178
191
target_link_libraries ("ZydisFuzzIn" "Zydis" )
179
192
set_target_properties ("FormatterHooks" PROPERTIES FOLDER "Examples" )
180
193
target_compile_definitions ("ZydisFuzzIn" PRIVATE "_CRT_SECURE_NO_WARNINGS" )
@@ -187,6 +200,7 @@ if (ZYDIS_BUILD_EXAMPLES)
187
200
endif ()
188
201
189
202
add_executable ("ZydisPerfTest" "examples/ZydisPerfTest.c" )
203
+ _set_common_flags("ZydisPerfTest" )
190
204
target_link_libraries ("ZydisPerfTest" "Zydis" )
191
205
set_target_properties ("FormatterHooks" PROPERTIES FOLDER "Examples" )
192
206
target_compile_definitions ("ZydisPerfTest" PRIVATE "_CRT_SECURE_NO_WARNINGS" )
@@ -199,6 +213,10 @@ if (ZYDIS_BUILD_EXAMPLES)
199
213
find_package (Threads REQUIRED)
200
214
target_link_libraries ("ZydisPerfTest" Threads::Threads)
201
215
endif ()
216
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" )
217
+ find_package (Threads REQUIRED)
218
+ target_link_libraries ("ZydisPerfTest" Threads::Threads)
219
+ endif ()
202
220
endif ()
203
221
endif ()
204
222
@@ -209,6 +227,7 @@ endif ()
209
227
if (ZYDIS_BUILD_TOOLS)
210
228
if (ZYDIS_FEATURE_DECODER AND ZYDIS_FEATURE_FORMATTER)
211
229
add_executable ("ZydisDisasm" "tools/ZydisDisasm.c" )
230
+ _set_common_flags("ZydisDisasm" )
212
231
target_link_libraries ("ZydisDisasm" "Zydis" )
213
232
set_target_properties ("ZydisDisasm" PROPERTIES FOLDER "Tools" )
214
233
target_compile_definitions ("ZydisDisasm" PRIVATE "_CRT_SECURE_NO_WARNINGS" )
@@ -218,6 +237,7 @@ if (ZYDIS_BUILD_TOOLS)
218
237
endif ()
219
238
220
239
add_executable ("ZydisInfo" "tools/ZydisInfo.c" )
240
+ _set_common_flags("ZydisInfo" )
221
241
target_link_libraries ("ZydisInfo" "Zydis" )
222
242
set_target_properties ("ZydisInfo" PROPERTIES FOLDER "Tools" )
223
243
target_compile_definitions ("ZydisInfo" PRIVATE "_CRT_SECURE_NO_WARNINGS" )
0 commit comments