tizen 2.3 release
[framework/web/wearable/wrt-security.git] / src / CMakeLists.txt
1 # Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
2 #
3 #    Licensed under the Apache License, Version 2.0 (the "License");
4 #    you may not use this file except in compliance with the License.
5 #    You may obtain a copy of the License at
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #    Unless required by applicable law or agreed to in writing, software
10 #    distributed under the License is distributed on an "AS IS" BASIS,
11 #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #    See the License for the specific language governing permissions and
13 #    limitations under the License.
14 #
15 #
16 # @file     CMakeLists.txt
17 # @author   Bartlomiej Grzelewski (b.grzelewski@samsung.com)
18 #
19
20 SET(DAEMON_BASIC_DEP
21     dpl-efl
22     dpl-dbus-efl
23     dpl-utils-efl
24     libsoup-2.4
25     openssl
26     libsmack
27     privacy-manager-server
28   )
29
30 IF(SMACK_ENABLE)
31     LIST(APPEND DAEMON_BASIC_DEP libprivilege-control)
32 ENDIF(SMACK_ENABLE)
33
34 IF(NOT DEFINED ENABLE_PRIVACY_MANAGER)
35 PKG_CHECK_MODULES(DAEMON_DEP
36     ${DAEMON_BASIC_DEP}
37     REQUIRED
38     libsystemd-daemon)
39 ELSE()
40 PKG_CHECK_MODULES(DAEMON_DEP
41     ${DAEMON_BASIC_DEP}
42     ${PRIVILEGE_MANAGER_DEP}
43     REQUIRED
44     libsystemd-daemon)
45 ENDIF()
46
47 SET(DAEMON_SOURCES_PATH ${PROJECT_SOURCE_DIR}/src)
48
49 SET(DAEMON_SOURCES
50     #socket connection
51     ${PROJECT_SOURCE_DIR}/socket_connection/connection/SocketConnection.cpp
52     ${PROJECT_SOURCE_DIR}/socket_connection/connection/SocketStream.cpp
53     #caller
54     ${DAEMON_SOURCES_PATH}/services/caller/security_caller.cpp
55     #daemon
56     ${DAEMON_SOURCES_PATH}/daemon/dbus/security_dbus_service.cpp
57     ${DAEMON_SOURCES_PATH}/daemon/sockets/security_socket_service.cpp
58     ${DAEMON_SOURCES_PATH}/daemon/security_daemon.cpp
59     ${DAEMON_SOURCES_PATH}/main.cpp
60     #ocsp
61     ${DAEMON_SOURCES_PATH}/services/ocsp/dbus/ocsp_server_dbus_interface.cpp
62     ${DAEMON_SOURCES_PATH}/services/ocsp/socket/ocsp_service_callbacks.cpp
63     ${DAEMON_SOURCES_PATH}/services/ocsp/ocsp_service.cpp
64     #ace
65     ${DAEMON_SOURCES_PATH}/services/ace/dbus/ace_server_dbus_interface.cpp
66     ${DAEMON_SOURCES_PATH}/services/ace/socket/ace_service_callbacks.cpp
67     ${DAEMON_SOURCES_PATH}/services/ace/ace_service.cpp
68     ${DAEMON_SOURCES_PATH}/services/ace/logic/security_controller.cpp
69     ${DAEMON_SOURCES_PATH}/services/ace/logic/attribute_facade.cpp
70     ${DAEMON_SOURCES_PATH}/services/ace/logic/security_logic.cpp
71     ${DAEMON_SOURCES_PATH}/services/ace/logic/simple_roaming_agent.cpp
72     #popup
73     ${DAEMON_SOURCES_PATH}/services/popup/dbus/popup_response_dbus_interface.cpp
74     ${DAEMON_SOURCES_PATH}/services/popup/socket/popup_service_callbacks.cpp
75   )
76
77 SET_SOURCE_FILES_PROPERTIES(${DAEMON_SOURCES} PROPERTIES COMPILE_FLAGS "-std=c++0x")
78
79 ############################# Lets start compilation process ##################
80
81 IF(DEFINED DBUS_CONNECTION)
82 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/daemon/dbus)
83 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/caller)
84 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ace/dbus)
85 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ocsp/dbus)
86 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/popup/dbus)
87 ENDIF()
88
89 #ace library
90 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ace/include)
91 #socket connection library
92 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/socket_connection/connection)
93 #daemon
94 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
95 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/daemon)
96 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/daemon/dbus)
97 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/daemon/sockets/api)
98 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/daemon/sockets)
99 #caller
100 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/caller)
101 #ace
102 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ace)
103 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ace/dbus)
104 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ace/socket)
105 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ace/socket/api)
106 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ace/logic)
107 #ocsp
108 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ocsp)
109 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ocsp/dbus)
110 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ocsp/socket)
111 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ocsp/socket/api)
112 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/ocsp/logic)
113 #popup
114 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/popup)
115 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/popup/dbus)
116 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/popup/socket)
117 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/popup/socket/api)
118 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/services/popup/logic)
119 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ace/include)
120 INCLUDE_DIRECTORIES(${DAEMON_DEP_INCLUDE_DIRS})
121
122 IF(NOT DEFINED DBUS_CONNECTION)
123 #commons
124 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/commons/modules/log/include)
125 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/commons/modules/core/include)
126 LINK_DIRECTORIES(
127     ${PROJECT_SOURCE_DIR}/commons/build/core
128     ${PROJECT_SOURCE_DIR}/commons/build/log
129     )
130 ENDIF()
131
132 ADD_EXECUTABLE(${TARGET_DAEMON}
133     ${DAEMON_SOURCES})
134
135 IF(DEFINED DBUS_CONNECTION)
136 TARGET_LINK_LIBRARIES(${TARGET_DAEMON}
137     ${DAEMON_DEP_LIBRARIES}
138     ${TARGET_ACE_LIB}
139     ${TARGET_ACE_DAO_RW_LIB}
140     )
141 ELSE()
142 TARGET_LINK_LIBRARIES(${TARGET_DAEMON}
143     ${DAEMON_DEP_LIBRARIES}
144     ${TARGET_ACE_LIB}
145     ${TARGET_ACE_DAO_RW_LIB}
146     libwrt-security-commons
147     libwrt-security-commons-log
148     )
149 ENDIF()
150
151 INSTALL(TARGETS ${TARGET_DAEMON}
152     DESTINATION bin)
153
154 INSTALL(FILES
155     ${PROJECT_SOURCE_DIR}/src/daemon/dbus/org.tizen.SecurityDaemon.service
156     DESTINATION /usr/share/dbus-1/services
157     )
158
159 INSTALL(FILES
160     ${PROJECT_SOURCE_DIR}/src/services/ace/ace_server_api.h
161     ${PROJECT_SOURCE_DIR}/src/services/ocsp/ocsp_server_api.h
162     ${PROJECT_SOURCE_DIR}/src/services/popup/popup_response_server_api.h
163     ${PROJECT_SOURCE_DIR}/src/services/popup/popup_ace_data_types.h
164     ${PROJECT_SOURCE_DIR}/src/daemon/dbus/security_daemon_dbus_config.h
165     DESTINATION /usr/include/wrt-security
166     )