03997c09c02bade5e321550a96849785a9ad9b7d
[framework/web/wrt-installer.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   Lukasz Wrzosek (l.wrzosek@samsung.com)
18 # @version     1.0
19 #
20
21 SET(TARGET_INSTALLER "wrt-installer")
22
23 OPTION(LB_SUPPORT "lb support" OFF)
24
25 SET(INSTALLER_SRC_DIR
26     ${PROJECT_SOURCE_DIR}/src
27     )
28
29 SET(INSTALLER_CONFIG_PARSER
30     ${INSTALLER_SRC_DIR}/configuration_parser
31     )
32
33 SET(INSTALLER_JOBS
34     ${INSTALLER_SRC_DIR}/jobs
35     )
36
37 SET(INSTALLER_INCLUDES
38     ${INSTALLER_SRC_DIR}
39     ${INSTALLER_SRC_DIR}/logic
40     ${INSTALLER_SRC_DIR}/jobs
41     ${INSTALLER_SRC_DIR}/jobs/plugin_install
42     ${INSTALLER_SRC_DIR}/jobs/widget_install
43     ${INSTALLER_SRC_DIR}/jobs/widget_uninstall
44     ${INSTALLER_SRC_DIR}/misc
45     ${INSTALLER_SRC_DIR}/configuration_parser
46     ${INSTALLER_SRC_DIR}/wrt-installer
47     ${INSTALLER_SRC_DIR}/commons
48     ${INSTALLER_SRC_DIR}/pkg-manager
49 )
50
51 SET(INSTALLER_SOURCES
52     ${INSTALLER_CONFIG_PARSER}/widget_parser.cpp
53     ${INSTALLER_CONFIG_PARSER}/parser_runner.cpp
54     ${INSTALLER_CONFIG_PARSER}/ignoring_parser.cpp
55     ${INSTALLER_CONFIG_PARSER}/deny_all_parser.cpp
56     ${INSTALLER_CONFIG_PARSER}/libiriwrapper.cpp
57     ${INSTALLER_JOBS}/job.cpp
58     ${INSTALLER_JOBS}/plugin_install/job_plugin_install.cpp
59     ${INSTALLER_JOBS}/plugin_install/plugin_install_task.cpp
60     ${INSTALLER_JOBS}/plugin_install/plugin_objects.cpp
61     ${INSTALLER_JOBS}/plugin_install/plugin_metafile_reader.cpp
62     ${INSTALLER_JOBS}/widget_install/job_widget_install.cpp
63     ${INSTALLER_JOBS}/widget_install/manifest.cpp
64     ${INSTALLER_JOBS}/widget_install/task_commons.cpp
65     ${INSTALLER_JOBS}/widget_install/task_unzip.cpp
66     ${INSTALLER_JOBS}/widget_install/task_widget_config.cpp
67     ${INSTALLER_JOBS}/widget_install/task_database.cpp
68     ${INSTALLER_JOBS}/widget_install/ace_registration.cpp
69     ${INSTALLER_JOBS}/widget_install/task_file_manipulation.cpp
70     ${INSTALLER_JOBS}/widget_install/task_smack.cpp
71     ${INSTALLER_JOBS}/widget_install/task_ace_check.cpp
72     ${INSTALLER_JOBS}/widget_install/task_manifest_file.cpp
73     ${INSTALLER_JOBS}/widget_install/task_certify.cpp
74     ${INSTALLER_JOBS}/widget_install/task_prepare_files.cpp
75     ${INSTALLER_JOBS}/widget_install/task_recovery.cpp
76     ${INSTALLER_JOBS}/widget_install/task_install_ospsvc.cpp
77     ${INSTALLER_JOBS}/widget_install/task_update_files.cpp
78     ${INSTALLER_JOBS}/widget_install/task_remove_backup.cpp
79     ${INSTALLER_JOBS}/widget_install/task_encrypt_resource.cpp
80     ${INSTALLER_JOBS}/widget_install/task_certificates.cpp
81     ${INSTALLER_JOBS}/widget_install/task_prepare_reinstall.cpp
82     ${INSTALLER_JOBS}/widget_install/wac_security.cpp
83     ${INSTALLER_JOBS}/widget_install/widget_update_info.cpp
84     ${INSTALLER_JOBS}/widget_install/directory_api.cpp
85     ${INSTALLER_JOBS}/widget_uninstall/job_widget_uninstall.cpp
86     ${INSTALLER_JOBS}/widget_uninstall/task_check.cpp
87     ${INSTALLER_JOBS}/widget_uninstall/task_remove_files.cpp
88     ${INSTALLER_JOBS}/widget_uninstall/task_remove_custom_handlers.cpp
89     ${INSTALLER_JOBS}/widget_uninstall/task_db_update.cpp
90     ${INSTALLER_JOBS}/widget_uninstall/task_smack.cpp
91     ${INSTALLER_JOBS}/widget_uninstall/task_uninstall_ospsvc.cpp
92     ${INSTALLER_JOBS}/widget_uninstall/task_delete_certificates.cpp
93     ${INSTALLER_SRC_DIR}/logic/installer_logic.cpp
94     ${INSTALLER_SRC_DIR}/logic/installer_controller.cpp
95     ${INSTALLER_SRC_DIR}/misc/wac_widget_id.cpp
96     ${INSTALLER_SRC_DIR}/misc/feature_logic.cpp
97     ${INSTALLER_SRC_DIR}/misc/libxml_utils.cpp
98     ${INSTALLER_SRC_DIR}/misc/widget_location.cpp
99     ${INSTALLER_SRC_DIR}/misc/widget_install_to_external.cpp
100     ${INSTALLER_SRC_DIR}/pkg-manager/pkgmgr_signal.cpp
101     )
102
103 IF(LB_SUPPORT)
104     SET(INSTALLER_SOURCES
105         ${INSTALLER_SOURCES}
106         )
107     MESSAGE(STATUS "adding definition -DLB_SUPPORT")
108     ADD_DEFINITIONS("-DLB_SUPPORT")
109 ENDIF(LB_SUPPORT)
110
111 MESSAGE(STATUS "add -DSEP_INSTALLER")
112 ADD_DEFINITIONS("-DSEP_INSTALLER")
113
114
115 PKG_CHECK_MODULES(INSTALLER_STATIC_DEP
116     dpl-efl
117     dpl-event-efl
118     dpl-utils-efl
119     dpl-wrt-dao-ro
120     dpl-wrt-dao-rw
121     wrt-commons-custom-handler-dao-rw
122     wrt-commons-security-origin-dao
123     wrt-plugins-types
124     pkgmgr-installer
125     pkgmgr-parser
126     pkgmgr-info
127     web-provider
128     osp-appfw
129     REQUIRED
130 )
131
132 PKG_CHECK_MODULES(SYS_INSTALLER_STATIC_DEP
133     appsvc
134     libxml-2.0
135     openssl
136     cert-svc-vcore
137     security-install
138     ecore-x
139     xmlsec1
140     libidn
141     libiri
142     libpcrecpp
143     ail
144     elementary
145     tapi
146     shortcut
147     capi-appfw-app-manager
148     app2sd
149     vconf
150     libprivilege-control
151     REQUIRED
152 )
153
154 INCLUDE_DIRECTORIES( SYSTEM ${SYS_INSTALLER_STATIC_DEP_INCLUDE_DIRS})
155
156 INCLUDE_DIRECTORIES(
157     ${INSTALLER_DEP_INCLUDES}
158     ${INSTALLER_INCLUDES}
159     ${INSTALLER_STATIC_DEP_INCLUDE_DIRS}
160     ${OSP_APPFW_INCLUDES}
161     )
162
163 ADD_LIBRARY(${TARGET_INSTALLER_STATIC} STATIC
164     ${INSTALLER_SOURCES}
165     )
166
167 ADD_DEFINITIONS(${INSTALLER_STATIC_DEP_CFLAGS})
168 ADD_DEFINITIONS(${INSTALLER_STATIC_DEP_CFLAGS_OTHERS})
169 ADD_DEFINITIONS(${SYS_INSTALLER_STATIC_DEP_CFLAGS})
170 ADD_DEFINITIONS(${SYS_INSTALLER_STATIC_DEP_CFLAGS_OTHERS})
171
172 TARGET_LINK_LIBRARIES(${TARGET_INSTALLER_STATIC}
173     ${INSTALLER_STATIC_DEP_LIBRARIES} "-ldl"
174     ${SYS_INSTALLER_STATIC_DEP_LIBRARIES} "-ldl"
175     )
176
177 #for encryption
178 TARGET_LINK_LIBRARIES(${TARGET_INSTALLER_STATIC} -L/usr/lib/osp -losp-appfw )
179
180 ADD_SUBDIRECTORY(pkg-manager)
181 ADD_SUBDIRECTORY(wrt-installer)