Add klay-legacy classes into this repository
[platform/core/security/krate.git] / server / CMakeLists.txt
1 #
2 # Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 SET(SERVER_SRCS main.cpp
17                                 server.cpp
18                                 packman.cpp
19                                 launchpad.cpp
20                                 app-bundle.cpp
21                                 manager.cpp
22                                 app-proxy.cpp
23                                 package-proxy.cpp
24                                 ${KRATE_COMMON}/cgroup.cpp
25                                 ${KRATE_COMMON}/xml/node.cpp
26                                 ${KRATE_COMMON}/xml/parser.cpp
27                                 ${KRATE_COMMON}/xml/document.cpp
28                                 ${KRATE_COMMON}/xml/keepblanks.cpp
29 )
30
31 SET(DEPENDENCY  klay
32                                 glib-2.0
33                                 gio-2.0
34                                 libxml-2.0
35                                 bundle
36                                 aul
37                                 appsvc
38                                 pkgmgr
39                                 pkgmgr-info
40                                 libtzplatform-config
41                                 capi-system-system-settings
42                                 notification
43                                 libgum
44                                 cynara-client
45                                 cynara-session
46                                 auth-fw-admin
47 )
48
49 SET(SERVER_NAME ${PROJECT_NAME}d)
50
51 ADD_EXECUTABLE(${SERVER_NAME} ${SERVER_SRCS})
52
53 PKG_CHECK_MODULES(SERVER_DEPS REQUIRED ${DEPENDENCY})
54
55 INCLUDE_DIRECTORIES(SYSTEM ${SERVER_DEPS_INCLUDE_DIRS} ${KRATE_SERVER} ${PROJECT_SOURCE_DIR})
56
57 TARGET_LINK_LIBRARIES(${SERVER_NAME} ${SERVER_DEPS_LIBRARIES} pthread gum-common)
58
59 SET_TARGET_PROPERTIES(${SERVER_NAME} PROPERTIES COMPILE_FLAGS "-fPIE")
60 SET_TARGET_PROPERTIES(${SERVER_NAME} PROPERTIES LINK_FLAGS "-pie")
61
62 TARGET_COMPILE_DEFINITIONS(${SERVER_NAME} PRIVATE
63         RUN_PATH="${RUN_DIR}"
64         ICON_PATH="${ICON_DIR}"
65 )
66
67 CONFIGURE_FILE(systemd/krate.service.in systemd/krate.service)
68
69 INSTALL(TARGETS ${SERVER_NAME} DESTINATION ${BIN_DIR})
70 INSTALL(FILES systemd/krate.service DESTINATION ${SYSTEMD_UNIT_DIR})
71
72 INSTALL(FILES ${KRATE_DATA}/default_icon.png DESTINATION ${ICON_DIR})
73 INSTALL(FILES ${KRATE_DATA}/indicator_icon.png DESTINATION ${ICON_DIR})
74 INSTALL(FILES ${KRATE_DATA}/notification_sub_icon.png DESTINATION ${ICON_DIR})
75 INSTALL(FILES ${KRATE_DATA}/shortcut_icon.png DESTINATION ${ICON_DIR})