ucode: check for errors in ftruncate()
[project/udebug.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.3)
2
3 PROJECT(udebugd C)
4
5 ADD_DEFINITIONS(-O2 -Wall -fwrapv -Werror --std=gnu99 -g3 -Wmissing-declarations -DRUNSTATEDIR="${RUNSTATEDIR}")
6 FIND_LIBRARY(ubus NAMES ubus)
7 FIND_LIBRARY(ubox NAMES ubox)
8
9 FIND_PATH(ubus_include_dir NAMES libubus.h)
10 FIND_PATH(uloop_include_dir NAMES libubox/uloop.h)
11 FIND_PATH(ucode_include_dir NAMES ucode/module.h)
12 INCLUDE_DIRECTORIES(${uloop_include_dir} ${ubus_include_dir} ${ucode_include_dir})
13
14 IF(APPLE)
15 SET(UCODE_MODULE_LINK_OPTIONS "LINKER:-undefined,dynamic_lookup")
16 ENDIF()
17
18 ADD_LIBRARY(udebug SHARED lib.c lib-pcap.c)
19 IF(ABIVERSION)
20 SET_TARGET_PROPERTIES(udebug PROPERTIES VERSION ${ABIVERSION})
21 ENDIF()
22 TARGET_LINK_LIBRARIES(udebug ${ubox} ${ubus})
23
24 ADD_EXECUTABLE(udebugd main.c client.c ring.c ubus.c)
25 TARGET_LINK_LIBRARIES(udebugd udebug ${ubox} ${ubus})
26
27 ADD_LIBRARY(ucode_lib MODULE lib-ucode.c)
28 SET_TARGET_PROPERTIES(ucode_lib PROPERTIES OUTPUT_NAME udebug PREFIX "")
29 TARGET_LINK_OPTIONS(ucode_lib PRIVATE ${UCODE_MODULE_LINK_OPTIONS})
30 TARGET_LINK_LIBRARIES(ucode_lib ${ubox} udebug)
31
32 INSTALL(FILES udebug.h udebug-pcap.h
33 DESTINATION include
34 )
35 INSTALL(FILES udebug-cli
36 DESTINATION sbin
37 )
38 INSTALL(TARGETS udebugd udebug
39 RUNTIME DESTINATION sbin
40 LIBRARY DESTINATION lib
41 )
42 INSTALL(TARGETS ucode_lib
43 LIBRARY DESTINATION lib/ucode
44 )