1 # Copyright (c) 2015 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 Krzysztof Jackiewicz (k.jackiewicz@samsung.com)
20 INCLUDE(FindPkgConfig)
22 # common encryption scheme library
23 PKG_CHECK_MODULES(ENCRYPTION_SCHEME_DEP
29 FIND_PACKAGE(Threads REQUIRED)
31 SET(ENCRYPTION_SCHEME_SOURCES
32 ${CMAKE_CURRENT_SOURCE_DIR}/smack-access.cpp
33 ${CMAKE_CURRENT_SOURCE_DIR}/scheme-test.cpp
35 ${KEY_MANAGER_PATH}/service/file-lock.cpp
36 ${KEY_MANAGER_PATH}/service/key-provider.cpp
37 ${KEY_MANAGER_PATH}/service/db-crypto.cpp
38 ${KEY_MANAGER_PATH}/service/file-system.cpp
39 ${KEY_MANAGER_PATH}/dpl/core/src/assert.cpp
40 ${KEY_MANAGER_PATH}/dpl/db/src/sql_connection.cpp
41 ${KEY_MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp
42 ${KEY_MANAGER_PATH}/sqlcipher/sqlcipher.c
45 INCLUDE_DIRECTORIES(SYSTEM ${ENCRYPTION_SCHEME_DEP_INCLUDE_DIRS})
47 ${CMAKE_CURRENT_SOURCE_DIR}
49 ${KEY_MANAGER_PATH}/common
50 ${KEY_MANAGER_PATH}/dpl/core/include
51 ${KEY_MANAGER_PATH}/dpl/log/include
52 ${KEY_MANAGER_PATH}/dpl/db/include
53 ${KEY_MANAGER_PATH}/sqlcipher
54 ${KEY_MANAGER_PATH}/service
55 ${KEY_MANAGER_PATH}/crypto
58 ADD_LIBRARY(${TARGET_ENCRYPTION_SCHEME_COMMON} STATIC ${ENCRYPTION_SCHEME_SOURCES})
60 TARGET_LINK_LIBRARIES(${TARGET_ENCRYPTION_SCHEME_COMMON}
61 ${ENCRYPTION_SCHEME_DEP_LIBRARIES}
62 ${TARGET_KEY_MANAGER_CLIENT}
63 ${TARGET_KEY_MANAGER_CONTROL_CLIENT}
64 ${CMAKE_THREAD_LIBS_INIT}
65 boost_unit_test_framework
69 INSTALL(TARGETS ${TARGET_ENCRYPTION_SCHEME_COMMON} DESTINATION ${LIB_INSTALL_DIR})
73 # binary for filling db
74 SET(TARGET_CKM_GENERATOR "ckm_generate_db")
77 ${CMAKE_CURRENT_SOURCE_DIR}/generate-db.cpp
80 ADD_EXECUTABLE(${TARGET_CKM_GENERATOR} ${GENERATOR_SOURCES})
82 TARGET_LINK_LIBRARIES(${TARGET_CKM_GENERATOR}
83 ${TARGET_ENCRYPTION_SCHEME_COMMON}
86 INSTALL(TARGETS ${TARGET_CKM_GENERATOR} DESTINATION bin)
89 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/encryption-scheme.p12 DESTINATION /usr/share/ckm-db-test)