1 # Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 # @file CMakeLists.txt
16 # @author Karol Pawlowski (k.pawlowski@samsung.com)
19 PKG_CHECK_MODULES(COMMON_LIB_PKGS
32 pkg_search_module(dpl REQUIRED dpl-efl)
33 pkg_search_module(dpl-test REQUIRED dpl-test-efl)
35 SET(WRT_TEST_LIBRARY "wrt-tests-libs")
39 ${dpl-test_INCLUDE_DIRS}
42 SET(COMMON_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}")
44 SET_PROPERTY(GLOBAL APPEND PROPERTY COMMON_TESTS_LIBRARY ${WRT_TEST_LIBRARY})
46 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_INCLUDE_DIRS ${COMMON_LIB_PKGS_INCLUDE_DIRS})
48 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARY_DIRS ${COMMON_LIB_PKGS_LIBRARY_DIRS})
50 SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARIES ${COMMON_LIB_PKGS_LIBRARIES})
52 SET(WRT_DETAIL_SOURCES
53 ${CMAKE_CURRENT_SOURCE_DIR}/InstallerWrapper.cpp
54 ${CMAKE_CURRENT_SOURCE_DIR}/ManifestFile.cpp
57 INCLUDE_DIRECTORIES(${COMMON_INCLUDES})
58 INCLUDE_DIRECTORIES(${COMMON_LIB_PKGS_INCLUDE_DIRS})
60 ADD_LIBRARY(${WRT_TEST_LIBRARY} STATIC ${WRT_DETAIL_SOURCES})
63 SET(INSTALLER_TESTS_TARGET "wrt-installer-tests-general")
65 PKG_CHECK_MODULES(INSTALLER_TESTS_DEPS
66 wrt-commons-i18n-dao-ro
69 SET(INSTALLER_TESTS_SOURCES
70 ${CMAKE_CURRENT_SOURCE_DIR}/TestInit.cpp
71 ${CMAKE_CURRENT_SOURCE_DIR}/ManifestTests.cpp
72 ${CMAKE_CURRENT_SOURCE_DIR}/BackgroundPageTests.cpp
73 ${CMAKE_CURRENT_SOURCE_DIR}/NonRootUserTests.cpp
74 ${CMAKE_CURRENT_SOURCE_DIR}/NPluginsInstallTests.cpp
75 ${CMAKE_CURRENT_SOURCE_DIR}/ParsingTizenAppcontrolTests.cpp
76 ${CMAKE_CURRENT_SOURCE_DIR}/WidgetUpdateTests.cpp
77 ${CMAKE_CURRENT_SOURCE_DIR}/PluginsInstallation.cpp
78 ${CMAKE_CURRENT_SOURCE_DIR}/LanguageSubtagRstTreeTests.cpp
79 ${CMAKE_SOURCE_DIR}/src/wrt-installer/language_subtag_rst_tree.cpp
82 SET(INSTALLER_TESTS_INCLUDE_DIRS
83 ${INSTALLER_TESTS_DEPS_INCLUDE_DIRS}
84 ${CMAKE_SOURCE_DIR}/src/wrt-installer
87 # Functions used to build test targets (proper sources, includes, libs are
88 # added automatically)
89 FUNCTION(WRT_TEST_BUILD TARGET_NAME)
90 # get include dirs global property
91 GET_PROPERTY(INCLUDE_DIRS GLOBAL PROPERTY TESTS_INCLUDE_DIRS)
92 GET_PROPERTY(TEST_INCLUDE_DIRS GLOBAL PROPERTY ${TARGET_NAME}_INCLUDE_DIRS)
98 # get library dirs global property
99 GET_PROPERTY(LIBRARY_DIRS GLOBAL PROPERTY TESTS_LIBRARY_DIRS)
100 GET_PROPERTY(TEST_LIBRARY_DIRS GLOBAL PROPERTY ${TARGET_NAME}_LIBRARY_DIRS)
106 SET(SOURCES "${ARGN}")
107 ADD_EXECUTABLE("${TARGET_NAME}" ${SOURCES})
109 # get link libraries global property
110 GET_PROPERTY(LINK_LIBRARIES GLOBAL PROPERTY TESTS_LIBRARIES)
111 GET_PROPERTY(TEST_LIBRARIES GLOBAL PROPERTY ${TARGET_NAME}_LIBRARIES)
112 TARGET_LINK_LIBRARIES("${TARGET_NAME}"
116 ENDFUNCTION(WRT_TEST_BUILD)
118 FUNCTION(WRT_TEST_INSTALL)
119 SET_TARGET_PROPERTIES(${ARGV} PROPERTIES
120 BUILD_WITH_INSTALL_RPATH ON
121 INSTALL_RPATH_USE_LINK_PATH ON
123 INSTALL(TARGETS ${ARGV}
125 PERMISSIONS OWNER_READ
133 ENDFUNCTION(WRT_TEST_INSTALL)
135 FUNCTION(WRT_TEST_INCLUDE_DIRS TARGET_NAME)
136 SET_PROPERTY(GLOBAL APPEND PROPERTY ${TARGET_NAME}_INCLUDE_DIRS ${ARGN})
137 ENDFUNCTION(WRT_TEST_INCLUDE_DIRS)
139 WRT_TEST_INCLUDE_DIRS(${INSTALLER_TESTS_TARGET} ${INSTALLER_TESTS_INCLUDE_DIRS})
140 WRT_TEST_BUILD(${INSTALLER_TESTS_TARGET} ${INSTALLER_TESTS_SOURCES})
141 WRT_TEST_INSTALL(${INSTALLER_TESTS_TARGET})
142 target_link_libraries(${INSTALLER_TESTS_TARGET}
144 ${dpl-test_LIBRARIES}
146 ${TARGET_CORE_MODULE_LIB}
147 ${COMMON_LIB_PKGS_LIBRARIES}
148 ${INSTALLER_TESTS_DEPS_LIBRARIES}
152 FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/widgets/*.wgt")
153 INSTALL(FILES ${files} DESTINATION /opt/share/widget/tests/installer/widgets/)