Merge "add new function for posting data"
[apps/native/tizen-things-daemon.git] / lib / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(CMAKE_VERBOSE_MAKEFILE 0)
4 SET(LIB libthings-service)
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
7
8 INCLUDE(FindPkgConfig)
9 pkg_check_modules(LIB_TTS_PKGS REQUIRED
10         glib-2.0
11         gio-unix-2.0
12         dlog
13 )
14
15 FOREACH (flag ${LIB_TTS_PKGS_CFLAGS})
16         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
17 ENDFOREACH(flag)
18
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Winline -g")
20 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${INSTALL_LIB_DIR}")
21
22 FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen)
23 EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS
24                 " \\
25                 --generate-c-code ${CMAKE_SOURCE_DIR}/lib/src/tizen-things-lib-dbus \\
26                 ${CMAKE_SOURCE_DIR}/lib/src/tizen-things-lib-dbus.xml \\
27                 ")
28
29 INCLUDE_DIRECTORIES(${INCLUDE_DIR})
30
31 SET(LIB_TTS_SOURCE
32         src/tizen-things-lib-dbus.c
33         src/ttsd-worker-lib.c)
34
35 ADD_LIBRARY(${LIB} SHARED ${LIB_TTS_SOURCE})
36 TARGET_LINK_LIBRARIES(${LIB} ${LIB_TTS_LDFLAGS})
37
38 SET_TARGET_PROPERTIES(${LIB}
39         PROPERTIES
40         VERSION ${FULL_VER}
41         SOVERSION ${MAJOR_VER}
42         CLEAN_DIRECT_OUTPUT 1
43 )
44 INSTALL(TARGETS ${LIB} DESTINATION ${INSTALL_LIB_DIR})
45
46 INSTALL(
47         DIRECTORY ${INCLUDE_DIR}/ DESTINATION ${INSTALL_INC_DIR}
48         FILES_MATCHING
49         PATTERN "*_private.h" EXCLUDE
50         PATTERN "*.h"
51 )
52
53 # pkg-config file
54 SET(PC_DENPS "") # add package name here if you have exposed lib in your library.
55 SET(PC_NAME ${LIB})
56 SET(PC_REQUIRED ${PC_DENPS})
57 SET(PC_LDFLAGS -l${LIB})
58
59 CONFIGURE_FILE(
60         ${LIB}.pc.in
61         ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc
62         @ONLY
63 )
64 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc DESTINATION ${INSTALL_LIB_DIR}/pkgconfig)