Modify dbus library
[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 FILE(GLOB LIB_TTS_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
32
33 ADD_LIBRARY(${LIB} SHARED ${LIB_TTS_SOURCE})
34 TARGET_LINK_LIBRARIES(${LIB} ${LIB_TTS_LDFLAGS})
35
36 SET_TARGET_PROPERTIES(${LIB}
37         PROPERTIES
38         VERSION ${FULL_VER}
39         SOVERSION ${MAJOR_VER}
40         CLEAN_DIRECT_OUTPUT 1
41 )
42 INSTALL(TARGETS ${LIB} DESTINATION ${INSTALL_LIB_DIR})
43
44 INSTALL(
45         DIRECTORY ${INCLUDE_DIR}/ DESTINATION ${INSTALL_INC_DIR}
46         FILES_MATCHING
47         PATTERN "*_private.h" EXCLUDE
48         PATTERN "*.h"
49 )
50
51 # pkg-config file
52 SET(PC_DENPS "") # add package name here if you have exposed lib in your library.
53 SET(PC_NAME ${LIB})
54 SET(PC_REQUIRED ${PC_DENPS})
55 SET(PC_LDFLAGS -l${LIB})
56
57 CONFIGURE_FILE(
58         ${LIB}.pc.in
59         ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc
60         @ONLY
61 )
62 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc DESTINATION ${INSTALL_LIB_DIR}/pkgconfig)