Remove implicit launch resolution
[platform/core/appfw/aul-1.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2
3 PROJECT(aul)
4
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
7 SET(LIBDIR ${LIB_INSTALL_DIR})
8 SET(INCLUDEDIR "\${prefix}/include")
9 SET(EXEC_PREFIX "\${prefix}")
10
11 ADD_DEFINITIONS("-DSHARE_PREFIX=\"${SHARE_INSTALL_PREFIX}/aul\"")
12
13 ## Compile flags
14 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-zdefs -fvisibility=hidden -g -Wall -Werror -fpic")
15 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
16 SET(CMAKE_C_FLAGS_RELEASE "-O2")
17
18 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} -std=c++14")
19 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
20 SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
21
22 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
23
24 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
25
26 ## Target
27 SET(TARGET_AUL "aul")
28
29 ENABLE_TESTING()
30 SET(TARGET_AUL_UNIT_TESTS "aul-unit-tests")
31 SET(TARGET_APP_CONTROL_TESTS "app-control-tests")
32
33 INCLUDE(FindPkgConfig)
34 INCLUDE(ApplyPkgConfig)
35
36 PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle)
37 PKG_CHECK_MODULES(CAPI_SYSTEM_INFO_DEPS REQUIRED capi-system-info)
38 PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
39 PKG_CHECK_MODULES(GIO_DEPS REQUIRED gio-2.0)
40 PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
41 PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
42 PKG_CHECK_MODULES(INIPARSER_DEPS REQUIRED iniparser)
43 PKG_CHECK_MODULES(LIBSMACK_DEPS REQUIRED libsmack)
44 PKG_CHECK_MODULES(LIBTZPLATFORM_CONFIG_DEPS REQUIRED libtzplatform-config)
45 PKG_CHECK_MODULES(LIBXML_DEPS REQUIRED libxml-2.0)
46 PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info)
47 PKG_CHECK_MODULES(PKGMGR_INSTALLER_DEPS REQUIRED pkgmgr-installer)
48 PKG_CHECK_MODULES(SQLITE3_DEPS REQUIRED sqlite3)
49 PKG_CHECK_MODULES(STORAGE_DEPS REQUIRED storage)
50 PKG_CHECK_MODULES(TTRACE_DEPS REQUIRED ttrace)
51 PKG_CHECK_MODULES(UUID_DEPS REQUIRED uuid)
52 PKG_CHECK_MODULES(VCONF_DEPS REQUIRED vconf)
53 PKG_CHECK_MODULES(XDGMIME_DEPS REQUIRED xdgmime)
54
55
56 ## Target sources
57 AUX_SOURCE_DIRECTORY(src SRCS)
58 AUX_SOURCE_DIRECTORY(aul AUL_SRCS)
59 AUX_SOURCE_DIRECTORY(aul/api AUL_API_SRCS)
60 AUX_SOURCE_DIRECTORY(aul/app_manager AUL_APP_MANAGER_SRCS)
61 AUX_SOURCE_DIRECTORY(aul/common AUL_COMMON_SRCS)
62 AUX_SOURCE_DIRECTORY(aul/socket AUL_SOCKET_SRCS)
63
64 ADD_LIBRARY(${TARGET_AUL} SHARED
65   ${SRCS}
66   ${AUL_SRCS}
67   ${AUL_API_SRCS}
68   ${AUL_APP_MANAGER_SRCS}
69   ${AUL_COMMON_SRCS}
70   ${AUL_SOCKET_SRCS}
71 )
72
73 TARGET_INCLUDE_DIRECTORIES(${TARGET_AUL} PUBLIC
74   ${CMAKE_CURRENT_SOURCE_DIR}
75   ${CMAKE_CURRENT_SOURCE_DIR}/include
76   ${CMAKE_CURRENT_SOURCE_DIR}/include/internal
77   ${CMAKE_CURRENT_SOURCE_DIR}/aul/
78   ${CMAKE_CURRENT_SOURCE_DIR}/aul/api
79   ${CMAKE_CURRENT_SOURCE_DIR}/aul/app_manager
80   ${CMAKE_CURRENT_SOURCE_DIR}/aul/common
81   ${CMAKE_CURRENT_SOURCE_DIR}/aul/socket
82 )
83
84 SET_TARGET_PROPERTIES(${TARGET_AUL} PROPERTIES SOVERSION ${MAJORVER})
85 SET_TARGET_PROPERTIES(${TARGET_AUL} PROPERTIES VERSION ${FULLVER})
86
87 APPLY_PKG_CONFIG(${TARGET_AUL} PUBLIC
88   BUNDLE_DEPS
89   CAPI_SYSTEM_INFO_DEPS
90   DLOG_DEPS
91   GIO_DEPS
92   GLIB_DEPS
93   INIPARSER_DEPS
94   LIBSMACK_DEPS
95   LIBTZPLATFORM_CONFIG_DEPS
96   LIBXML_DEPS
97   PKGMGR_INFO_DEPS
98   SQLITE3_DEPS
99   STORAGE_DEPS
100   TTRACE_DEPS
101   UUID_DEPS
102   VCONF_DEPS
103   XDGMIME_DEPS
104 )
105
106 INSTALL(TARGETS ${TARGET_AUL} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
107
108 # pkgconfig file
109 CONFIGURE_FILE(aul.pc.in aul.pc @ONLY)
110 CONFIGURE_FILE(feature/preexec_list.txt.in feature/preexec_list.txt @ONLY)
111
112 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
113 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec_list.txt DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
114 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/miregex DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
115 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/aul.conf DESTINATION /etc/dbus-1/system.d)
116 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/  DESTINATION include/aul
117   FILES_MATCHING
118   PATTERN "*.h"
119 )
120 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/aul/api/ DESTINATION include/aul/api
121   FILES_MATCHING
122   PATTERN "*.h"
123 )
124
125 ## Sub directories
126 ADD_SUBDIRECTORY(tool)
127 ADD_SUBDIRECTORY(parser)
128 ADD_SUBDIRECTORY(test)