0a0c9ff44de291299673372626c0b0e56eec1552
[project/ubox.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 PROJECT(ubox C)
4 ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations)
5
6 SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
7
8 IF(APPLE)
9   INCLUDE_DIRECTORIES(/opt/local/include)
10   LINK_DIRECTORIES(/opt/local/lib)
11 ENDIF()
12
13 find_library(json NAMES json-c json)
14 SET(LIBS ubox uci ubus ${json} blobmsg_json)
15
16 IF(DEBUG)
17   ADD_DEFINITIONS(-DDEBUG -g3)
18 ENDIF()
19
20 ADD_EXECUTABLE(mount_root mount_root.c)
21 TARGET_LINK_LIBRARIES(mount_root ${LIBS})
22
23 INSTALL(TARGETS mount_root
24         RUNTIME DESTINATION sbin
25 )
26
27 ADD_EXECUTABLE(block block.c
28                 libblkid-tiny/libblkid-tiny.c
29                 libblkid-tiny/mkdev.c
30                 libblkid-tiny/ext.c
31                 libblkid-tiny/jffs2.c
32                 libblkid-tiny/vfat.c
33                 libblkid-tiny/swap.c
34                 libblkid-tiny/squashfs.c)
35 TARGET_LINK_LIBRARIES(block ${LIBS} blobmsg_json)
36
37 INSTALL(TARGETS block
38         RUNTIME DESTINATION sbin
39 )
40
41 ADD_EXECUTABLE(kmodloader kmodloader.c)
42 TARGET_LINK_LIBRARIES(kmodloader ${LIBS})
43
44 INSTALL(TARGETS kmodloader
45         RUNTIME DESTINATION sbin
46 )
47
48 ADD_EXECUTABLE(board board.c)
49 TARGET_LINK_LIBRARIES(board ${LIBS})
50
51 INSTALL(TARGETS board
52         RUNTIME DESTINATION sbin
53 )
54
55 ADD_EXECUTABLE(lsbloader lsbloader.c)
56 TARGET_LINK_LIBRARIES(lsbloader ${LIBS})
57
58 INSTALL(TARGETS lsbloader
59         RUNTIME DESTINATION sbin
60 )
61
62 ADD_LIBRARY(validate SHARED validate/validate.c)
63 INSTALL(TARGETS validate
64         LIBRARY DESTINATION lib
65 )
66
67 ADD_EXECUTABLE(validate_data validate/cli.c)
68 TARGET_LINK_LIBRARIES(validate_data ${LIBS} validate)
69 INSTALL(TARGETS validate_data
70         RUNTIME DESTINATION sbin
71 )
72
73 ADD_EXECUTABLE(logd log/logd.c log/syslog.c)
74 TARGET_LINK_LIBRARIES(logd ${LIBS})
75 INSTALL(TARGETS logd
76         RUNTIME DESTINATION sbin
77 )
78
79 ADD_EXECUTABLE(logread log/logread.c)
80 TARGET_LINK_LIBRARIES(logread ${LIBS})
81 INSTALL(TARGETS logread
82         RUNTIME DESTINATION sbin
83 )