1 # Copyright (c) 2020 - 2021 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 tests/CMakeLists.txt
16 # @author Dariusz Michaluk <d.michaluk@samsung.com>
17 # @author Jaroslaw Pelczar <j.pelczar@samsung.com>
19 SET(TARGET_TESTS "device-certificate-manager-tests")
21 IF (CMAKE_BUILD_TYPE MATCHES "COVERAGE")
24 SET(COVERAGE_BUILD_DIR
25 ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET_TESTS}.dir/
30 DIRECTORY ${COVERAGE_BUILD_DIR}/
31 DESTINATION ${COVERAGE_DIR}
32 FILES_MATCHING PATTERN "*.gcno"
35 # install code coverage automation script
36 CONFIGURE_FILE(device-certificate-manager-coverage.sh.in device-certificate-manager-coverage.sh @ONLY)
38 PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/device-certificate-manager-coverage.sh
39 DESTINATION ${CMAKE_INSTALL_BINDIR}
42 ENDIF (CMAKE_BUILD_TYPE MATCHES "COVERAGE")
44 FIND_PACKAGE(Threads REQUIRED)
45 FIND_PACKAGE(Protobuf REQUIRED)
47 FIND_PACKAGE(Boost REQUIRED
51 PKG_CHECK_MODULES(TEST_DEPS REQUIRED dlog libsmack capi-system-info)
53 INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIRS} ${TEST_DEPS_INCLUDE_DIRS})
54 LINK_DIRECTORIES(${Boost_LIBRARY_DIRS} ${TEST_DEPS_LIBRARY_DIRS})
55 INCLUDE_DIRECTORIES(../src/dcm-client ../src/dcm-daemon ../src/shared ../src/include)
57 ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK)
59 PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ../src/dcm-client/dcm_support.proto)
61 ADD_EXECUTABLE(${TARGET_TESTS}
62 device_certificate_manager_tests.cpp
64 colour_log_formatter.cpp
66 ../src/dcm-client/dcm_client.cpp
67 ../src/dcm-client/device_certificate_manager.cpp
68 ../src/dcm-client/device_certificate_manager_ext.cpp
70 ../src/shared/protobuf_asio.cpp
71 ../src/shared/bundle.cpp
75 TARGET_LINK_LIBRARIES(${TARGET_TESTS}
76 ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES}
77 ${CMAKE_THREAD_LIBS_INIT}
78 ${TEST_DEPS_LIBRARIES}
79 ${PROTOBUF_LITE_LIBRARIES})
83 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})