Merge "Add dependency module for tv" into tizen
[platform/core/uifw/multi-assistant-service.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(org.tizen.multi-assistant-service CXX C)
3
4 # DEFAULT DATA
5 SET ( PACKAGE "org.tizen.multi-assistant-service")
6 SET ( PKGNAME ${PACKAGE})
7 SET ( PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET ( BINDIR "${PREFIX}/bin")
9 SET ( RESDIR "${PREFIX}/res")
10 SET ( LIBDIR "${PREFIX}/lib")
11 SET ( SHARED_RESDIR "${PREFIX}/shared/res")
12 SET ( BINNAME org.tizen.multi-assistant-service)
13
14 # SET FLAG ---------------------------------------------------------------------------------------
15 # Find Packages
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(pkgs REQUIRED
18         capi-appfw-application
19         capi-appfw-app-manager
20         capi-appfw-package-manager
21         capi-appfw-service-application
22         capi-media-audio-io
23         capi-network-connection
24         dlog
25         ecore
26         dbus-1
27         glib-2.0
28         libxml-2.0
29         multi-assistant
30         vconf
31 )
32
33 # SET FLAG ---------------------------------------------------------------------------------------
34 FOREACH(flag ${pkgs_CFLAGS})
35         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
36 ENDFOREACH(flag)
37
38 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
39 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden")
40 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE -fvisibility=hidden")
41
42 # SET WARNNING OPTION ----------------------------------------------------------------------------
43 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
44 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
45
46 # OPTION DEBUG -----------------------------------------------------------------------------------
47 IF("${_SDEBUG}" MATCHES "debug")
48   MESSAGE("Building in debug mode.")
49   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -O0")
50   SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} -O0")
51 ELSE()
52   MESSAGE("Building in release mode.")
53   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  ${CMAKE_CXX_FLAGS_RELEASE}")
54   SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}")
55 ENDIF()
56
57 LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib)
58 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
59 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc)
60
61 SET(SRCS
62                 src/multi_assistant_config.c
63                 src/multi_assistant_service.c
64                 src/multi_assistant_service_plugin.c
65                 src/multi_assistant_dbus.c
66                 src/multi_assistant_dbus_server.c
67 )
68 ADD_EXECUTABLE(${BINNAME} ${SRCS})
69
70 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE.Flora DESTINATION /usr/share/license/)
71 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages)
72 INSTALL(TARGETS ${BINNAME} DESTINATION ${BINDIR})
73
74 TARGET_LINK_LIBRARIES(${BINNAME} -ldl ${pkgs_LDFLAGS} ${EXTRA_LDFLAGS})
75
76 ADD_SUBDIRECTORY(plugins)