add the se-backend for db encryption
[platform/core/security/key-manager.git] / misc / encryption_scheme / CMakeLists.txt
1 # common stuff
2 FIND_PACKAGE(Threads REQUIRED)
3 ADD_DEFINITIONS("-DBOOST_TEST_DYN_LINK")
4 ADD_DEFINITIONS("-DMISC_DIR=\"${MISC_DIR}\"")
5
6 SET(MANAGER_PATH ${PROJECT_SOURCE_DIR}/src/manager)
7
8 INCLUDE_DIRECTORIES(SYSTEM ${KEY_MANAGER_DEP_INCLUDE_DIRS})
9
10 INCLUDE_DIRECTORIES(
11     ${MANAGER_PATH}/dpl/db/include
12     ${MANAGER_PATH}/dpl/core/include
13     ${MANAGER_PATH}/dpl/log/include
14     ${MANAGER_PATH}/crypto
15     ${MANAGER_PATH}/main
16     ${MANAGER_PATH}/service
17     ${MANAGER_PATH}/common
18     ${PROJECT_SOURCE_DIR}/src/include
19     ${PROJECT_SOURCE_DIR}/common
20     ${CMAKE_CURRENT_SOURCE_DIR}
21 )
22
23 LINK_DIRECTORIES(${KEY_MANAGER_DEP_LIBRARY_DIRS})
24
25 SET(ENCRYPTION_SCHEME_COMMON_LINK_OPTIONS
26     ${TARGET_KEY_MANAGER_CLIENT}
27     ${TARGET_KEY_MANAGER_CONTROL_CLIENT}
28     ${KEY_MANAGER_DEP_LIBRARIES}
29     ${KM_LINK_EXTRA_DEPS}
30     ${CMAKE_THREAD_LIBS_INIT}
31     boost_unit_test_framework
32     -ldl
33 )
34
35 SET(ENCRYPTION_SCHEME_COMMON_SOURCES
36     ${CMAKE_CURRENT_SOURCE_DIR}/smack-access.cpp
37     ${CMAKE_CURRENT_SOURCE_DIR}/scheme-test.cpp
38
39     ${PROJECT_SOURCE_DIR}/common/colour_log_formatter.cpp
40
41     ${MANAGER_PATH}/dpl/core/src/colors.cpp
42     ${MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp
43     ${MANAGER_PATH}/dpl/db/src/sql_connection.cpp
44     ${MANAGER_PATH}/service/db-crypto.cpp
45     ${MANAGER_PATH}/service/file-lock.cpp
46     ${MANAGER_PATH}/service/file-system.cpp
47     ${MANAGER_PATH}/service/for-each-file.cpp
48     ${MANAGER_PATH}/service/key-provider.cpp
49     ${SE_BACKEND_SOURCES}
50 )
51
52 # binary for filling db for scheme migration testing
53 SET(TARGET_CKM_GENERATOR "ckm_generate_db")
54
55 ADD_EXECUTABLE(
56     ${TARGET_CKM_GENERATOR}
57     ${ENCRYPTION_SCHEME_COMMON_SOURCES}
58     ${CMAKE_CURRENT_SOURCE_DIR}/generate-db.cpp
59 )
60
61 TARGET_LINK_LIBRARIES(
62     ${TARGET_CKM_GENERATOR}
63     ${ENCRYPTION_SCHEME_COMMON_LINK_OPTIONS}
64 )
65
66 INSTALL(TARGETS ${TARGET_CKM_GENERATOR} DESTINATION bin)
67
68
69 # binary for testing encryption scheme migration
70 SET(TARGET_SCHEME_TEST "ckm-scheme-test")
71
72 ADD_EXECUTABLE(
73     ${TARGET_SCHEME_TEST}
74     ${ENCRYPTION_SCHEME_COMMON_SOURCES}
75     ${CMAKE_CURRENT_SOURCE_DIR}/test_encryption-scheme.cpp
76 )
77
78 TARGET_LINK_LIBRARIES(
79     ${TARGET_SCHEME_TEST}
80     ${ENCRYPTION_SCHEME_COMMON_LINK_OPTIONS}
81 )
82
83 INSTALL(TARGETS ${TARGET_SCHEME_TEST} DESTINATION bin)
84
85
86 # resources
87 INSTALL(
88     FILES
89         encryption-scheme.p12
90         db-7654
91         db-key-7654
92         key-7654
93     DESTINATION ${MISC_DIR}
94 )
95
96 CONFIGURE_FILE(
97     ${PROJECT_SOURCE_DIR}/packaging/key-manager-misc.manifest.in
98     ${PROJECT_SOURCE_DIR}/key-manager-misc.manifest @ONLY
99 )