Provide configuration for smack-privilege tests
[platform/core/test/security-tests.git] / src / security-manager-tests / CMakeLists.txt
1 # Copyright (c) 2014-2020 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      Marcin Niesluchowski (m.niesluchow@samsung.com)
17 # @brief
18 #
19
20 IF(NOT DEFINED SM_TEST_DIR)
21     SET(SM_TEST_DIR "${SHARE_INSTALL_PREFIX}/security-manager-test")
22 ENDIF(NOT DEFINED SM_TEST_DIR)
23 ADD_DEFINITIONS("-DSM_TEST_DIR=\"${SM_TEST_DIR}\"")
24
25 INCLUDE(FindPkgConfig)
26
27 # Dependencies
28 PKG_CHECK_MODULES(SEC_MGR_TESTS_DEP
29     REQUIRED
30     libsmack
31     cynara-client
32     cynara-admin
33     security-manager
34     security-privilege-manager
35     libtzplatform-config
36     sqlite3
37     libcap
38     dbus-1
39     libgum
40     boost)
41
42
43 SET(TARGET_SEC_MGR_TESTS "security-manager-tests")
44
45 SET(SEC_MGR_SOURCES
46     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_cynara_mask.cpp
47     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_commons.cpp
48     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_file_operations.cpp
49     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases.cpp
50     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_app_defined_privilege.cpp
51     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_app_policy.cpp
52     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_credentials.cpp
53     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_dyntransition.cpp
54     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_nss.cpp
55     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_paths.cpp
56     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_privacy_manager.cpp
57     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_private_sharing.cpp
58     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_public_sharing.cpp
59     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_register_paths.cpp
60     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_shm.cpp
61     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_smack_privileges.cpp
62     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_trusted_sharing.cpp
63     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/test_cases_prepare_app.cpp
64     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/security_manager_tests.cpp
65     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/common/policy_configuration.cpp
66     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/common/sm_commons.cpp
67     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/common/template_parser.cpp
68     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/common/scoped_app_launcher.cpp
69     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/common/app_install_helper_ext.cpp
70     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_client.cpp
71     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_admin.cpp
72     ${PROJECT_SOURCE_DIR}/src/cynara-tests/plugins/plugins.cpp
73    )
74
75 INCLUDE_DIRECTORIES(SYSTEM
76     ${SEC_MGR_TESTS_DEP_INCLUDE_DIRS}
77    )
78
79 INCLUDE_DIRECTORIES(SYSTEM
80     ${CYNARA_TARGET_DEP_INCLUDE_DIRS}
81     )
82
83 INCLUDE_DIRECTORIES(
84     ${PROJECT_SOURCE_DIR}/src/common/
85     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/common/
86     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/
87     ${PROJECT_SOURCE_DIR}/src/cynara-tests/plugins/
88    )
89
90 FIND_PACKAGE(Threads)
91
92 ADD_EXECUTABLE(${TARGET_SEC_MGR_TESTS} ${SEC_MGR_SOURCES})
93
94 TARGET_LINK_LIBRARIES(${TARGET_SEC_MGR_TESTS}
95     ${SEC_MGR_TESTS_DEP_LIBRARIES}
96     dpl-test-framework
97     tests-common
98     rt
99     ${CMAKE_THREAD_LIBS_INIT}
100     )
101
102 INSTALL(TARGETS ${TARGET_SEC_MGR_TESTS} DESTINATION /usr/bin)
103
104 INSTALL(DIRECTORY
105     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/app_files/
106     DESTINATION ${GLOBAL_APP_DIR}
107 )
108
109 INSTALL(DIRECTORY
110     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/app_files/
111     DESTINATION ${LOCAL_APP_DIR}
112 )
113
114 INSTALL(DIRECTORY
115     ${PROJECT_SOURCE_DIR}/src/security-manager-tests/smack-privileges
116     DESTINATION ${SM_TEST_DIR}
117 )