Merge "Added tools - mockup of cloud and injector. Changed code to support task-worker."
[apps/native/tizen-things-daemon.git] / lib / things-service / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(CMAKE_VERBOSE_MAKEFILE 0)
4 SET(LIB things-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         capi-appfw-app-common
13         dlog
14         json-c
15 )
16
17 FOREACH (flag ${LIB_TTS_PKGS_CFLAGS})
18         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
19 ENDFOREACH(flag)
20
21 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Winline")
22 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
23 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${INSTALL_LIB_DIR}")
24
25 FILE(GLOB LIB_TTS_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
26
27 ADD_LIBRARY(${LIB} SHARED ${LIB_TTS_SOURCE})
28 TARGET_LINK_LIBRARIES(${LIB}
29         ${LIB_TTS_PKGS_LDFLAGS}
30         ${COMMON_LIBS}
31 )
32
33 TARGET_INCLUDE_DIRECTORIES(${LIB}
34         PUBLIC
35         ${CMAKE_CURRENT_SOURCE_DIR}/include
36         ${COMMON_INCLUDES}
37 )
38
39 SET_TARGET_PROPERTIES(${LIB}
40         PROPERTIES
41         VERSION ${FULL_VER}
42         SOVERSION ${MAJOR_VER}
43         CLEAN_DIRECT_OUTPUT 1
44 )
45 INSTALL(TARGETS ${LIB} DESTINATION ${INSTALL_LIB_DIR})
46
47 INSTALL(
48         DIRECTORY ${INCLUDE_DIR}/ DESTINATION ${INSTALL_INC_DIR}
49         FILES_MATCHING
50         PATTERN "*-private.h" EXCLUDE
51         PATTERN "*.h"
52 )
53
54 # pkg-config file
55 SET(PC_DENPS "") # add package name here if you have exposed lib in your library.
56 SET(PC_NAME ${LIB})
57 SET(PC_REQUIRED ${PC_DENPS})
58 SET(PC_LDFLAGS -l${LIB})
59
60 CONFIGURE_FILE(
61         ${LIB}.pc.in
62         ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc
63         @ONLY
64 )
65 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}.pc DESTINATION ${INSTALL_LIB_DIR}/pkgconfig)