-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
44 lines (39 loc) · 1.27 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
cmake_minimum_required(VERSION 3.21)
project(zyrecorder LANGUAGES C)
find_package(Git)
add_custom_target(version
${CMAKE_COMMAND} -D SRC=${CMAKE_SOURCE_DIR}/src/zyrecorder_version.h.in
-D DST=${CMAKE_BINARY_DIR}/zyrecorder_version.h
-D GIT_EXECUTABLE=${GIT_EXECUTABLE}
-P ${CMAKE_SOURCE_DIR}/GenerateVersionHeader.cmake
)
find_package(SQLite3 REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(ZMQ REQUIRED libzmq)
pkg_check_modules(CZMQ REQUIRED libczmq)
pkg_check_modules(ZYRE REQUIRED libzyre)
add_executable(${CMAKE_PROJECT_NAME}
src/main.c
src/recorder.c
src/replayer.c
src/utils.c
src/formatter_1string.c
src/formatter_nstrings.c
)
add_dependencies(${CMAKE_PROJECT_NAME} version)
set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY C_STANDARD 17)
target_link_libraries(
${CMAKE_PROJECT_NAME}
PRIVATE
SQLite::SQLite3 ${ZMQ_LIBRARIES} ${CZMQ_LIBRARIES} ${ZYRE_LIBRARIES}
)
target_include_directories(
${CMAKE_PROJECT_NAME}
PRIVATE
src ${CMAKE_BINARY_DIR} ${ZMQ_INCLUDE_DIRS} ${CZMQ_INCLUDE_DIRS} ${ZYRE_INCLUDE_DIRS}
)
target_compile_options(
${CMAKE_PROJECT_NAME}
PRIVATE
${ZMQ_CFLAGS_OTHER} ${CZMQ_CFLAGS_OTHER} ${ZYRE_CFLAGS_OTHER}
)