Remove hardcoded path for multiuser support
[platform/framework/web/wrt-installer.git] / tests / general / CMakeLists.txt
1 # Copyright (c) 2013 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 # @file        CMakeLists.txt
16 # @author      Karol Pawlowski (k.pawlowski@samsung.com)
17 #
18
19 PKG_CHECK_MODULES(COMMON_LIB_PKGS
20     dbus-1
21     libpcrecpp
22     dpl-efl
23     dpl-test-efl
24     dpl-utils-efl
25     dpl-wrt-dao-ro
26     dpl-event-efl
27     xmlsec1
28     libiri
29     libtzplatform-config
30     REQUIRED
31     )
32
33 pkg_search_module(dpl REQUIRED dpl-efl)
34 pkg_search_module(dpl-test REQUIRED dpl-test-efl)
35
36 SET(WRT_TEST_LIBRARY "wrt-tests-libs")
37
38 include_directories(
39   ${dpl_INCLUDE_DIRS}
40   ${dpl-test_INCLUDE_DIRS}
41 )
42
43 SET(COMMON_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}")
44
45 SET_PROPERTY(GLOBAL APPEND PROPERTY COMMON_TESTS_LIBRARY ${WRT_TEST_LIBRARY})
46
47 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_INCLUDE_DIRS ${COMMON_LIB_PKGS_INCLUDE_DIRS})
48
49 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARY_DIRS ${COMMON_LIB_PKGS_LIBRARY_DIRS})
50
51 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARIES ${COMMON_LIB_PKGS_LIBRARIES})
52
53 SET(WRT_DETAIL_SOURCES
54     ${CMAKE_CURRENT_SOURCE_DIR}/InstallerWrapper.cpp
55     ${CMAKE_CURRENT_SOURCE_DIR}/ManifestFile.cpp
56 )
57
58 INCLUDE_DIRECTORIES(${COMMON_INCLUDES})
59 INCLUDE_DIRECTORIES(${COMMON_LIB_PKGS_INCLUDE_DIRS})
60
61 ADD_LIBRARY(${WRT_TEST_LIBRARY} STATIC ${WRT_DETAIL_SOURCES})
62
63
64 SET(INSTALLER_TESTS_TARGET "wrt-installer-tests-general")
65
66 PKG_CHECK_MODULES(INSTALLER_TESTS_DEPS
67     wrt-commons-i18n-dao-ro
68     REQUIRED)
69
70 SET(INSTALLER_TESTS_SOURCES
71     ${CMAKE_CURRENT_SOURCE_DIR}/TestInit.cpp
72     ${CMAKE_CURRENT_SOURCE_DIR}/ManifestTests.cpp
73     ${CMAKE_CURRENT_SOURCE_DIR}/BackgroundPageTests.cpp
74     ${CMAKE_CURRENT_SOURCE_DIR}/NonRootUserTests.cpp
75     ${CMAKE_CURRENT_SOURCE_DIR}/NPluginsInstallTests.cpp
76     ${CMAKE_CURRENT_SOURCE_DIR}/ParsingTizenAppcontrolTests.cpp
77     ${CMAKE_CURRENT_SOURCE_DIR}/WidgetUpdateTests.cpp
78     ${CMAKE_CURRENT_SOURCE_DIR}/PluginsInstallation.cpp
79     ${CMAKE_CURRENT_SOURCE_DIR}/LanguageSubtagRstTreeTests.cpp
80     ${CMAKE_SOURCE_DIR}/src/wrt-installer/language_subtag_rst_tree.cpp
81 )
82
83 SET(INSTALLER_TESTS_INCLUDE_DIRS
84     ${INSTALLER_TESTS_DEPS_INCLUDE_DIRS}
85     ${CMAKE_SOURCE_DIR}/src/wrt-installer
86     ${CMAKE_SOURCE_DIR}/src/commons
87 )
88
89 # Functions used to build test targets (proper sources, includes, libs are
90 # added automatically)
91 FUNCTION(WRT_TEST_BUILD TARGET_NAME)
92     # get include dirs global property
93     GET_PROPERTY(INCLUDE_DIRS GLOBAL PROPERTY TESTS_INCLUDE_DIRS)
94     GET_PROPERTY(TEST_INCLUDE_DIRS GLOBAL PROPERTY ${TARGET_NAME}_INCLUDE_DIRS)
95     INCLUDE_DIRECTORIES(
96         ${INCLUDE_DIRS}
97         ${TEST_INCLUDE_DIRS}
98     )
99
100     # get library dirs global property
101     GET_PROPERTY(LIBRARY_DIRS GLOBAL PROPERTY TESTS_LIBRARY_DIRS)
102     GET_PROPERTY(TEST_LIBRARY_DIRS GLOBAL PROPERTY ${TARGET_NAME}_LIBRARY_DIRS)
103     LINK_DIRECTORIES(
104         ${LIBRARY_DIRS}
105         ${TEST_LIBRARY_DIRS}
106     )
107
108     SET(SOURCES "${ARGN}")
109     ADD_EXECUTABLE("${TARGET_NAME}" ${SOURCES})
110
111     # get link libraries global property
112     GET_PROPERTY(LINK_LIBRARIES GLOBAL PROPERTY TESTS_LIBRARIES)
113     GET_PROPERTY(TEST_LIBRARIES GLOBAL PROPERTY ${TARGET_NAME}_LIBRARIES)
114     TARGET_LINK_LIBRARIES("${TARGET_NAME}"
115         ${LINK_LIBRARIES}
116         ${TEST_LIBRARIES}
117     )
118 ENDFUNCTION(WRT_TEST_BUILD)
119
120 FUNCTION(WRT_TEST_INSTALL)
121     SET_TARGET_PROPERTIES(${ARGV} PROPERTIES
122         BUILD_WITH_INSTALL_RPATH ON
123         INSTALL_RPATH_USE_LINK_PATH ON
124     )
125     INSTALL(TARGETS ${ARGV}
126         DESTINATION bin
127         PERMISSIONS OWNER_READ
128                     OWNER_WRITE
129                     OWNER_EXECUTE
130                     GROUP_READ
131                     GROUP_EXECUTE
132                     WORLD_READ
133                     WORLD_EXECUTE
134     )
135 ENDFUNCTION(WRT_TEST_INSTALL)
136
137 FUNCTION(WRT_TEST_INCLUDE_DIRS TARGET_NAME)
138     SET_PROPERTY(GLOBAL APPEND PROPERTY ${TARGET_NAME}_INCLUDE_DIRS ${ARGN})
139 ENDFUNCTION(WRT_TEST_INCLUDE_DIRS)
140
141 WRT_TEST_INCLUDE_DIRS(${INSTALLER_TESTS_TARGET} ${INSTALLER_TESTS_INCLUDE_DIRS})
142 WRT_TEST_BUILD(${INSTALLER_TESTS_TARGET} ${INSTALLER_TESTS_SOURCES})
143 WRT_TEST_INSTALL(${INSTALLER_TESTS_TARGET})
144 target_link_libraries(${INSTALLER_TESTS_TARGET}
145   ${dpl_LIBRARIES}
146   ${dpl-test_LIBRARIES}
147   ${WRT_TEST_LIBRARY}
148   ${TARGET_CORE_MODULE_LIB}
149   ${COMMON_LIB_PKGS_LIBRARIES}
150   ${INSTALLER_TESTS_DEPS_LIBRARIES}
151 )
152
153 #widgets
154 FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/widgets/*.wgt")
155 INSTALL(FILES ${files} DESTINATION /opt/share/widget/tests/installer/widgets/)
156