882fd6a5a976986b9b9168c2729b27dc1147e4a1
[project/uci.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 PROJECT(uci C)
4
5 SET(CMAKE_INSTALL_PREFIX /usr)
6
7 ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I. -DUCI_PREFIX="${CMAKE_INSTALL_PREFIX}")
8
9 OPTION(UCI_DEBUG "debugging support" OFF)
10 OPTION(UCI_DEBUG_TYPECAST "typecast debugging support" OFF)
11 OPTION(BUILD_LUA "build Lua binding" ON)
12
13 CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/uci_config.h.in ${CMAKE_SOURCE_DIR}/uci_config.h )
14
15 SET(LIB_SOURCES libuci.c file.c util.c delta.c parse.c)
16
17 ADD_LIBRARY(uci SHARED ${LIB_SOURCES})
18 SET_TARGET_PROPERTIES(uci PROPERTIES OUTPUT_NAME uci)
19
20 ADD_EXECUTABLE(cli cli.c)
21 SET_TARGET_PROPERTIES(cli PROPERTIES OUTPUT_NAME uci)
22 TARGET_LINK_LIBRARIES(cli uci)
23
24 ADD_LIBRARY(ucimap STATIC ucimap.c)
25
26 ADD_EXECUTABLE(ucimap-example ucimap-example.c)
27 TARGET_LINK_LIBRARIES(ucimap-example uci ucimap)
28
29 ADD_SUBDIRECTORY(lua)
30
31 INSTALL(FILES uci.h uci_config.h ucimap.h
32         DESTINATION include
33 )
34
35 INSTALL(TARGETS uci cli
36         ARCHIVE DESTINATION lib
37         LIBRARY DESTINATION lib
38         RUNTIME DESTINATION bin
39 )
40