add a cmake file for the examples and add the binaries to .gitignore
[project/libubox.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 PROJECT(ubox C)
4 ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3)
5
6 OPTION(BUILD_LUA "build Lua plugin" ON)
7
8 IF(APPLE)
9   INCLUDE_DIRECTORIES(/opt/local/include)
10   LINK_DIRECTORIES(/opt/local/lib)
11 ENDIF()
12
13 SET(SOURCES avl.c avl-cmp.c blob.c blobmsg.c uloop.c usock.c ustream.c ustream-fd.c vlist.c)
14
15 ADD_LIBRARY(ubox SHARED ${SOURCES})
16
17 SET(CMAKE_INSTALL_PREFIX /usr)
18
19 FILE(GLOB headers *.h)
20 INSTALL(FILES ${headers}
21         DESTINATION include/libubox
22 )
23 INSTALL(TARGETS ubox
24         LIBRARY DESTINATION lib
25 )
26
27 ADD_SUBDIRECTORY(lua)
28
29 find_library(json json)
30 IF(EXISTS ${json})
31         ADD_LIBRARY(blobmsg_json SHARED blobmsg_json.c)
32         TARGET_LINK_LIBRARIES(blobmsg_json ubox json)
33
34         ADD_EXECUTABLE(jshn jshn.c)
35         TARGET_LINK_LIBRARIES(jshn json)
36
37         INSTALL(TARGETS blobmsg_json jshn
38                 LIBRARY DESTINATION lib
39                 RUNTIME DESTINATION bin
40         )
41
42         FILE(GLOB scripts sh/*.sh)
43         INSTALL(FILES ${scripts}
44                 DESTINATION share/libubox
45         )
46
47 ENDIF()