[Release] wrt-installer_0.1.9
[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     REQUIRED
30     )
31
32 pkg_search_module(dpl REQUIRED dpl-efl)
33 pkg_search_module(dpl-test REQUIRED dpl-test-efl)
34
35 SET(WRT_TEST_LIBRARY "wrt-tests-libs")
36
37 include_directories(
38   ${dpl_INCLUDE_DIRS}
39   ${dpl-test_INCLUDE_DIRS}
40 )
41
42 SET(COMMON_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}")
43
44 SET_PROPERTY(GLOBAL APPEND PROPERTY COMMON_TESTS_LIBRARY ${WRT_TEST_LIBRARY})
45
46 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_INCLUDE_DIRS ${COMMON_LIB_PKGS_INCLUDE_DIRS})
47
48 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARY_DIRS ${COMMON_LIB_PKGS_LIBRARY_DIRS})
49
50 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARIES ${COMMON_LIB_PKGS_LIBRARIES})
51
52 SET(WRT_DETAIL_SOURCES
53     ${CMAKE_CURRENT_SOURCE_DIR}/InstallerWrapper.cpp
54     ${CMAKE_CURRENT_SOURCE_DIR}/ManifestFile.cpp
55 )
56
57 INCLUDE_DIRECTORIES(${COMMON_INCLUDES})
58 INCLUDE_DIRECTORIES(${COMMON_LIB_PKGS_INCLUDE_DIRS})
59
60 ADD_LIBRARY(${WRT_TEST_LIBRARY} STATIC ${WRT_DETAIL_SOURCES})
61
62 SET(INSTALLER_TESTS_SOURCES
63     ${CMAKE_CURRENT_SOURCE_DIR}/TestInit.cpp
64     ${CMAKE_CURRENT_SOURCE_DIR}/ManifestTests.cpp
65     ${CMAKE_CURRENT_SOURCE_DIR}/BackgroundPageTests.cpp
66     ${CMAKE_CURRENT_SOURCE_DIR}/NonRootUserTests.cpp
67     ${CMAKE_CURRENT_SOURCE_DIR}/NPluginsInstallTests.cpp
68     ${CMAKE_CURRENT_SOURCE_DIR}/ParsingTizenAppserviceTests.cpp
69 )
70
71 SET(INSTALLER_TESTS_TARGET "wrt-installer-tests-general")
72
73 # Functions used to build test targets (proper sources, includes, libs are
74 # added automatically)
75 FUNCTION(WRT_TEST_BUILD TARGET_NAME)
76     SET(SOURCES "${ARGN}")
77     ADD_EXECUTABLE("${TARGET_NAME}" ${SOURCES})
78
79     # get include dirs global property
80     GET_PROPERTY(INCLUDE_DIRS GLOBAL PROPERTY TESTS_INCLUDE_DIRS)
81     GET_PROPERTY(TEST_INCLUDE_DIRS GLOBAL PROPERTY ${TARGET_NAME}_INCLUDE_DIRS)
82     INCLUDE_DIRECTORIES(
83         ${INCLUDE_DIRS}
84         ${TEST_INCLUDE_DIRS}
85     )
86
87     # get library dirs global property
88     GET_PROPERTY(LIBRARY_DIRS GLOBAL PROPERTY TESTS_LIBRARY_DIRS)
89     GET_PROPERTY(TEST_LIBRARY_DIRS GLOBAL PROPERTY ${TARGET_NAME}_LIBRARY_DIRS)
90     LINK_DIRECTORIES(
91         ${LIBRARY_DIRS}
92         ${TEST_LIBRARY_DIRS}
93     )
94
95     # get link libraries global property
96     GET_PROPERTY(LINK_LIBRARIES GLOBAL PROPERTY TESTS_LIBRARIES)
97     GET_PROPERTY(TEST_LIBRARIES GLOBAL PROPERTY ${TARGET_NAME}_LIBRARIES)
98     TARGET_LINK_LIBRARIES("${TARGET_NAME}"
99         ${LINK_LIBRARIES}
100         ${TEST_LIBRARIES}
101     )
102 ENDFUNCTION(WRT_TEST_BUILD)
103
104 FUNCTION(WRT_TEST_INSTALL)
105     SET_TARGET_PROPERTIES(${ARGV} PROPERTIES
106         BUILD_WITH_INSTALL_RPATH ON
107         INSTALL_RPATH_USE_LINK_PATH ON
108     )
109     INSTALL(TARGETS ${ARGV}
110         DESTINATION bin
111         PERMISSIONS OWNER_READ
112                     OWNER_WRITE
113                     OWNER_EXECUTE
114                     GROUP_READ
115                     GROUP_EXECUTE
116                     WORLD_READ
117                     WORLD_EXECUTE
118     )
119 ENDFUNCTION(WRT_TEST_INSTALL)
120
121 WRT_TEST_BUILD(${INSTALLER_TESTS_TARGET} ${INSTALLER_TESTS_SOURCES})
122 WRT_TEST_INSTALL(${INSTALLER_TESTS_TARGET})
123 target_link_libraries(${INSTALLER_TESTS_TARGET}
124   ${dpl_LIBRARIES}
125   ${dpl-test_LIBRARIES}
126   ${WRT_TEST_LIBRARY}
127   ${TARGET_CORE_MODULE_LIB}
128   ${COMMON_LIB_PKGS_LIBRARIES}
129 )
130
131 #widgets
132 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/manifest.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
133 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/bg-00-with_bg.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
134 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/bg-01-missing_file.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
135 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/bg-02-without_bg.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
136 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/nonroot.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
137 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_1.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
138 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_2.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
139 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_3.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
140 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_4.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)
141 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/appservice_dispos.wgt DESTINATION /opt/share/widget/tests/installer/widgets/)