Add -ldl to link library libdl.so.
[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}/commons/drm    #this is temporary code for drm
49     ${INSTALLER_SRC_DIR}/pkg-manager
50 )
51
52 SET(INSTALLER_SOURCES
53     ${INSTALLER_CONFIG_PARSER}/widget_parser.cpp
54     ${INSTALLER_CONFIG_PARSER}/parser_runner.cpp
55     ${INSTALLER_CONFIG_PARSER}/ignoring_parser.cpp
56     ${INSTALLER_CONFIG_PARSER}/deny_all_parser.cpp
57     ${INSTALLER_CONFIG_PARSER}/libiriwrapper.cpp
58     ${INSTALLER_JOBS}/job.cpp
59     ${INSTALLER_JOBS}/plugin_install/job_plugin_install.cpp
60     ${INSTALLER_JOBS}/plugin_install/plugin_install_task.cpp
61     ${INSTALLER_JOBS}/plugin_install/plugin_objects.cpp
62     ${INSTALLER_JOBS}/plugin_install/plugin_metafile_reader.cpp
63     ${INSTALLER_JOBS}/widget_install/job_widget_install.cpp
64     ${INSTALLER_JOBS}/widget_install/manifest.cpp
65     ${INSTALLER_JOBS}/widget_install/task_commons.cpp
66     ${INSTALLER_JOBS}/widget_install/task_unzip.cpp
67     ${INSTALLER_JOBS}/widget_install/task_widget_config.cpp
68     ${INSTALLER_JOBS}/widget_install/task_database.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_private_storage.cpp
75     ${INSTALLER_JOBS}/widget_install/task_prepare_files.cpp
76     ${INSTALLER_JOBS}/widget_install/task_recovery.cpp
77     ${INSTALLER_JOBS}/widget_install/task_install_ospsvc.cpp
78     ${INSTALLER_JOBS}/widget_install/task_update_files.cpp
79     ${INSTALLER_JOBS}/widget_install/task_remove_backup.cpp
80     ${INSTALLER_JOBS}/widget_install/task_encrypt_resource.cpp
81     ${INSTALLER_JOBS}/widget_install/task_plugins_copy.cpp
82     ${INSTALLER_JOBS}/widget_install/task_certificates.cpp
83     ${INSTALLER_JOBS}/widget_install/wac_security.cpp
84     ${INSTALLER_JOBS}/widget_install/widget_update_info.cpp
85     ${INSTALLER_JOBS}/widget_install/widget_install_popup.cpp
86     ${INSTALLER_JOBS}/widget_uninstall/job_widget_uninstall.cpp
87     ${INSTALLER_JOBS}/widget_uninstall/task_check.cpp
88     ${INSTALLER_JOBS}/widget_uninstall/task_remove_files.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}/pkg-manager/pkgmgr_signal.cpp
100     )
101
102 MESSAGE(STATUS "add -DSEP_INSTALLER")
103 ADD_DEFINITIONS("-DSEP_INSTALLER")
104
105
106 PKG_CHECK_MODULES(INSTALLER_STATIC_DEP
107     libxml-2.0
108     openssl
109     dpl-efl
110     cert-svc-vcore
111     security-core
112     dpl-event-efl
113     dpl-utils-efl
114     dpl-wrt-dao-ro
115     dpl-wrt-dao-rw
116     dpl-encryption
117     security-install
118     ecore-x
119     xmlsec1
120     libidn
121     libiri
122     libpcrecpp
123     wrt-plugins-types
124     ail
125     elementary
126     pkgmgr-installer
127     pkgmgr-parser
128     tapi
129     shortcut
130     capi-appfw-app-manager
131     drm-client
132     REQUIRED
133     )
134
135 INCLUDE_DIRECTORIES(
136     ${INSTALLER_DEP_INCLUDES}
137     ${INSTALLER_INCLUDES}
138     ${INSTALLER_STATIC_DEP_INCLUDE_DIRS}
139     )
140
141 ADD_LIBRARY(${TARGET_INSTALLER_STATIC} STATIC
142     ${INSTALLER_SOURCES}
143     )
144
145 ADD_DEFINITIONS(${INSTALLER_STATIC_DEP_CFLAGS})
146 ADD_DEFINITIONS(${INSTALLER_STATIC_DEP_CFLAGS_OTHERS})
147
148 TARGET_LINK_LIBRARIES(${TARGET_INSTALLER_STATIC}
149     ${INSTALLER_STATIC_DEP_LIBRARIES} "-ldl"
150     )
151
152
153 # Below Code is temporary. When DRM engine is provided it will be removed.
154 MESSAGE("ARCH ${ARCH}")
155 IF("${ARCH}" MATCHES "arm")
156         TARGET_LINK_LIBRARIES(${TARGET_INSTALLER_STATIC}
157             "-L${PROJECT_SOURCE_DIR}/etc/drm/armv7l -ldrm-service-core-intel" -Wl,--allow-shlib-undefine)
158 ELSE("${ARCH}" MATCHES "arm")
159         TARGET_LINK_LIBRARIES(${TARGET_INSTALLER_STATIC}
160             "-L${PROJECT_SOURCE_DIR}/etc/drm/ix86 -ldrm-service-core-intel" -Wl,--allow-shlib-undefine)
161 ENDIF("${ARCH}" MATCHES "arm")
162
163 SET_TARGET_PROPERTIES(${TARGET_INSTALLER_STATIC} PROPERTIES
164         COMPILE_FLAGS -fPIC)
165
166 ADD_SUBDIRECTORY(pkg-manager)
167 ADD_SUBDIRECTORY(wrt-installer)