Add library for DBus communication
[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         dbus-1
12         gio-2.0
13         dlog
14 )
15
16 FOREACH (flag ${LIB_TTS_PKGS_CFLAGS})
17         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 ENDFOREACH(flag)
19
20 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Winline -g")
21 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${INSTALL_LIB_DIR}")
22
23 FILE(GLOB LIB_TTS_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
24 INCLUDE_DIRECTORIES(${INCLUDE_DIR})
25
26 ADD_LIBRARY(${LIB} SHARED ${LIB_TTS_SOURCE})
27 TARGET_LINK_LIBRARIES(${LIB} ${LIB_TTS_LDFLAGS})
28
29 SET_TARGET_PROPERTIES(${LIB}
30         PROPERTIES
31         VERSION ${FULL_VER}
32         SOVERSION ${MAJOR_VER}
33         CLEAN_DIRECT_OUTPUT 1
34 )
35 INSTALL(TARGETS ${LIB} DESTINATION ${INSTALL_LIB_DIR})
36
37 INSTALL(
38         DIRECTORY ${INCLUDE_DIR}/ DESTINATION ${INSTALL_INC_DIR}
39         FILES_MATCHING
40         PATTERN "*_private.h" EXCLUDE
41         PATTERN "*.h"
42 )
43
44 # pkg-config file
45 SET(PC_DENPS "") # add package name here if you have exposed lib in your library.
46 SET(PC_NAME ${LIB})
47 SET(PC_REQUIRED ${PC_DENPS})
48 SET(PC_LDFLAGS -l${LIB})
49
50 CONFIGURE_FILE(
51         ${LIB}.pc.in
52         ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc
53         @ONLY
54 )
55 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc DESTINATION ${INSTALL_LIB_DIR}/pkgconfig)