Add sd-bus cynara API tests
[platform/core/test/security-tests.git] / src / cynara-tests / CMakeLists.txt
1 # Copyright (c) 2014-2018 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 cmake_minimum_required(VERSION 2.8.3)
17
18 INCLUDE(FindPkgConfig)
19 SET(CYNARA_TARGET_TEST "cynara-test")
20
21 PKG_CHECK_MODULES(CYNARA_TARGET_DEP
22     REQUIRED
23     cynara-admin
24     cynara-agent
25     cynara-client
26     cynara-client-async
27     cynara-creds-dbus
28     cynara-creds-gdbus
29     cynara-creds-sd-bus
30     cynara-creds-self
31     cynara-creds-socket
32     cynara-monitor
33     cynara-plugin
34     dbus-1
35     glib-2.0
36     libsystemd
37     )
38 FIND_PACKAGE (Threads)
39
40 #files to compile
41 SET(CYNARA_TARGET_TEST_SOURCES
42     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_admin.cpp
43     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_agent.cpp
44     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_agent_request.cpp
45     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_agent_response.cpp
46     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_client.cpp
47     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_client_async_client.cpp
48     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_client_async_request_monitor.cpp
49     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_client_async_status_monitor.cpp
50     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_commons.cpp
51     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_cynara_mask.cpp
52     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_env.cpp
53     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_file_operations.cpp
54     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/cynara_test_monitor.cpp
55     ${PROJECT_SOURCE_DIR}/src/cynara-tests/plugins/plugins.cpp
56     ${PROJECT_SOURCE_DIR}/src/cynara-tests/cynara-test.cpp
57     ${PROJECT_SOURCE_DIR}/src/cynara-tests/test_cases.cpp
58     ${PROJECT_SOURCE_DIR}/src/cynara-tests/test_cases_agent.cpp
59     ${PROJECT_SOURCE_DIR}/src/cynara-tests/test_cases_async.cpp
60     ${PROJECT_SOURCE_DIR}/src/cynara-tests/test_cases_db.cpp
61     ${PROJECT_SOURCE_DIR}/src/cynara-tests/test_cases_helpers.cpp
62     ${PROJECT_SOURCE_DIR}/src/cynara-tests/test_cases_monitor.cpp
63     )
64
65 #header directories
66 INCLUDE_DIRECTORIES(SYSTEM
67     ${CYNARA_TARGET_DEP_INCLUDE_DIRS}
68     )
69
70 INCLUDE_DIRECTORIES(
71     ${PROJECT_SOURCE_DIR}/src/common/
72     ${PROJECT_SOURCE_DIR}/src/cynara-tests/common/
73     ${PROJECT_SOURCE_DIR}/src/cynara-tests/plugins/
74     )
75
76
77 #output format
78 ADD_EXECUTABLE(${CYNARA_TARGET_TEST} ${CYNARA_TARGET_TEST_SOURCES})
79
80 #linker directories
81 TARGET_LINK_LIBRARIES(${CYNARA_TARGET_TEST}
82     ${CYNARA_TARGET_DEP_LIBRARIES}
83     tests-common
84     dpl-test-framework
85     gobject-2.0
86     gio-2.0
87     ${CMAKE_THREAD_LIBS_INIT}
88     )
89
90 #place for output file
91 INSTALL(TARGETS ${CYNARA_TARGET_TEST}
92     DESTINATION /usr/bin
93     PERMISSIONS OWNER_READ
94                 OWNER_WRITE
95                 OWNER_EXECUTE
96                 GROUP_READ
97                 GROUP_EXECUTE
98                 WORLD_READ
99                 WORLD_EXECUTE
100     )
101
102 INSTALL(DIRECTORY
103     ${PROJECT_SOURCE_DIR}/src/cynara-tests/db_patterns
104     DESTINATION /etc/security-tests/
105 )
106
107 ADD_SUBDIRECTORY(plugins)