IF (CMAKE_BUILD_TYPE MATCHES "COVERAGE") # coverage data SET(COVERAGE_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET_UNIT_TESTS}.dir/ ) # install gcno files INSTALL( DIRECTORY ${COVERAGE_BUILD_DIR}/ DESTINATION ${COVERAGE_DIR} FILES_MATCHING PATTERN "*.gcno" ) # install code coverage automation script CONFIGURE_FILE(key-manager-coverage.sh.in key-manager-coverage.sh @ONLY) INSTALL( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/key-manager-coverage.sh DESTINATION ${BIN_DIR} ) ENDIF (CMAKE_BUILD_TYPE MATCHES "COVERAGE") FIND_PACKAGE(Threads REQUIRED) SET(DB_TEST_DIR ${UNIT_TESTS_DIR}/db) SET(SS_TEST_DIR ${UNIT_TESTS_DIR}/secure-storage) SET(PKCS12_TEST_DIR ${UNIT_TESTS_DIR}/pkcs12/) ADD_DEFINITIONS("-DDB_TEST_DIR=\"${DB_TEST_DIR}\"") ADD_DEFINITIONS("-DSS_TEST_DIR=\"${SS_TEST_DIR}\"") ADD_DEFINITIONS("-DPKCS12_TEST_DIR=\"${PKCS12_TEST_DIR}\"") ADD_DEFINITIONS("-DBOOST_TEST_DYN_LINK") ADD_DEFINITIONS("-DOVERRIDE_SOCKET_TIMEOUT=10") SET(MANAGER_PATH ${PROJECT_SOURCE_DIR}/src/manager) INCLUDE_DIRECTORIES(SYSTEM ${KEY_MANAGER_DEP_INCLUDE_DIRS}) INCLUDE_DIRECTORIES( ${MANAGER_PATH}/dpl/db/include ${MANAGER_PATH}/dpl/core/include ${MANAGER_PATH}/dpl/log/include ${MANAGER_PATH}/service ${MANAGER_PATH}/initial-values ${MANAGER_PATH}/main ${MANAGER_PATH}/common ${MANAGER_PATH}/crypto ${MANAGER_PATH}/client ${MANAGER_PATH}/client-async ${MANAGER_PATH}/client-capi ${PROJECT_SOURCE_DIR}/src/include ${PROJECT_SOURCE_DIR}/common ${CMAKE_CURRENT_SOURCE_DIR} ) LINK_DIRECTORIES(${KEY_MANAGER_DEP_LIBRARY_DIRS}) SET(UNIT_TESTS_SOURCES ${PROJECT_SOURCE_DIR}/common/base64_generic.cpp ${PROJECT_SOURCE_DIR}/common/colour_log_formatter.cpp ${PROJECT_SOURCE_DIR}/common/DBFixture.cpp ${PROJECT_SOURCE_DIR}/common/test_common.cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_async-observer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_base64.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_binary-queue.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_certificate.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_ckmc_converter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_client-common.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_comm-manager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_crypto-logic.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_data-type.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_db_crypto.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_descriptor-set.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_dpl-db.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_dpl-exception.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_exception.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_for-each-file.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_generic-backend.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_kbkdf.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_key.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_key-provider.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_log-provider.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_pkcs12.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_safe-buffer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_serialization.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_socket-manager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_sql.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_stringify.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_ss-crypto.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_sw-backend.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_xml-parser.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_xml-utils.cpp ${MANAGER_PATH}/client/client-common.cpp ${MANAGER_PATH}/client-async/descriptor-set.cpp ${MANAGER_PATH}/client-capi/ckmc-type-converter.cpp ${MANAGER_PATH}/common/algo-param.cpp ${MANAGER_PATH}/common/certificate-impl.cpp ${MANAGER_PATH}/common/ckm-zero-memory.cpp ${MANAGER_PATH}/common/data-type.cpp ${MANAGER_PATH}/common/exception.cpp ${MANAGER_PATH}/common/key-impl.cpp ${MANAGER_PATH}/common/key-aes-impl.cpp ${MANAGER_PATH}/common/log-setup.cpp ${MANAGER_PATH}/common/message-buffer.cpp ${MANAGER_PATH}/common/openssl-error-handler.cpp ${MANAGER_PATH}/common/pkcs12-impl.cpp ${MANAGER_PATH}/common/protocols.cpp ${MANAGER_PATH}/crypto/platform/decider.cpp ${MANAGER_PATH}/crypto/sw-backend/internals.cpp ${MANAGER_PATH}/crypto/sw-backend/obj.cpp ${MANAGER_PATH}/crypto/sw-backend/store.cpp ${MANAGER_PATH}/crypto/sw-backend/kbkdf.cpp ${MANAGER_PATH}/dpl/core/src/binary_queue.cpp ${MANAGER_PATH}/dpl/core/src/colors.cpp ${MANAGER_PATH}/dpl/core/src/errno_string.cpp ${MANAGER_PATH}/dpl/core/src/exception.cpp ${MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp ${MANAGER_PATH}/dpl/db/src/sql_connection.cpp ${MANAGER_PATH}/dpl/log/src/abstract_log_provider.cpp ${MANAGER_PATH}/dpl/log/src/dlog_log_provider.cpp ${MANAGER_PATH}/dpl/log/src/journal_log_provider.cpp ${MANAGER_PATH}/dpl/log/src/log.cpp ${MANAGER_PATH}/dpl/log/src/old_style_log_provider.cpp ${MANAGER_PATH}/initial-values/parser.cpp ${MANAGER_PATH}/initial-values/xml-utils.cpp ${MANAGER_PATH}/main/cynara.cpp ${MANAGER_PATH}/main/smack-check.cpp ${MANAGER_PATH}/main/socket-2-id.cpp ${MANAGER_PATH}/main/socket-manager.cpp ${MANAGER_PATH}/service/crypto-logic.cpp ${MANAGER_PATH}/service/db-crypto.cpp ${MANAGER_PATH}/service/for-each-file.cpp ${MANAGER_PATH}/service/key-provider.cpp ${MANAGER_PATH}/service/ss-crypto.cpp ${SE_BACKEND_SOURCES} ) ADD_EXECUTABLE( ${TARGET_UNIT_TESTS} ${UNIT_TESTS_SOURCES} ${TZ_BACKEND_SOURCES} ) TARGET_LINK_LIBRARIES( ${TARGET_UNIT_TESTS} ${KEY_MANAGER_DEP_LIBRARIES} ${KM_LINK_EXTRA_DEPS} ${CMAKE_THREAD_LIBS_INIT} boost_unit_test_framework -ldl ) INSTALL(TARGETS ${TARGET_UNIT_TESTS} DESTINATION bin) INSTALL( FILES resources/XML_1_okay.xml resources/XML_1_okay.xsd resources/XML_1_wrong.xml resources/XML_1_wrong.xsd resources/XML_2_structure.xml resources/XML_3_encrypted.xml resources/XML_3_encrypted.xsd resources/XML_4_device_key.xml resources/XML_4_device_key.xsd resources/testme_ver1.db resources/testme_ver2.db resources/testme_ver3.db resources/testme0_ver4.db resources/KDFCTR_gen.rsp DESTINATION ${DB_TEST_DIR} ) INSTALL(DIRECTORY resources/traverse DESTINATION ${DB_TEST_DIR}) INSTALL(DIRECTORY secure-storage-old-data/ DESTINATION ${SS_TEST_DIR}) INSTALL( FILES resources/rsa.p12 resources/dsa.p12 resources/ecdsa.p12 DESTINATION ${PKCS12_TEST_DIR} ) CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/packaging/key-manager-unit-tests.manifest.in ${PROJECT_SOURCE_DIR}/key-manager-unit-tests.manifest @ONLY )