Fix coverity issue
[platform/core/security/ode.git] / lib / CMakeLists.txt
1 #
2 # Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 SET(LIB_VERSION "${VERSION}")
17 SET(LIB_SOVERSION "0")
18
19 SET(PC_FILE "${PROJECT_NAME}.pc")
20
21 SET(SOURCES client.cpp
22                         secure-erase.cpp
23                         internal-encryption.cpp
24                         external-encryption.cpp
25                         luks.cpp
26                         key-client.cpp
27                         ode/secure-erase.cpp
28                         ode/internal-encryption.cpp
29                         ode/external-encryption.cpp
30                         ode/luks.cpp
31                         ode/keys.cpp
32                         ode/error-translation.cpp
33 )
34
35 SET(CAPI_INCLUDE_FILES  ode/common.h
36                                                 ode/secure-erase.h
37                                                 ode/internal-encryption.h
38                                                 ode/external-encryption.h
39                                                 ode/luks.h
40                                                 ode/keys.h
41 )
42
43
44 SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecstack")
45
46 PKG_CHECK_MODULES(LIBS_DEPS     REQUIRED
47                                                         klay
48                                                         glib-2.0
49                                                         libtzplatform-config
50 )
51
52 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCES})
53 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
54 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${LIB_SOVERSION})
55 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION   ${LIB_VERSION})
56
57 INCLUDE_DIRECTORIES(SYSTEM ${LIBS_DEPS_INCLUDE_DIRS} ${ODE_LIB} ${PROJECT_SOURCE_DIR})
58 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIBS_DEPS_LIBRARIES} pthread)
59
60 CONFIGURE_FILE(${PC_FILE}.in ${CMAKE_BINARY_DIR}/${PC_FILE} @ONLY)
61
62 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PC_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
63 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
64 INSTALL(FILES ${CAPI_INCLUDE_FILES} DESTINATION ${INCLUDE_INSTALL_DIR}/ode)