Change elmConfig path for applying read-only root filesystem
[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                         ode/secure-erase.cpp
26                         ode/internal-encryption.cpp
27                         ode/external-encryption.cpp
28 )
29
30 SET(CAPI_INCLUDE_FILES  ode/common.h
31                                                 ode/secure-erase.h
32                                                 ode/internal-encryption.h
33                                                 ode/external-encryption.h
34 )
35
36
37 SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecstack")
38
39 PKG_CHECK_MODULES(LIBS_DEPS     REQUIRED
40                                                         klay
41                                                         glib-2.0
42                                                         libtzplatform-config
43 )
44
45 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCES})
46 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
47 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${LIB_SOVERSION})
48 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION   ${LIB_VERSION})
49
50 INCLUDE_DIRECTORIES(SYSTEM ${LIBS_DEPS_INCLUDE_DIRS} ${ODE_LIB} ${PROJECT_SOURCE_DIR})
51 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIBS_DEPS_LIBRARIES} pthread)
52
53 CONFIGURE_FILE(${PC_FILE}.in ${CMAKE_BINARY_DIR}/${PC_FILE} @ONLY)
54
55 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PC_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
56 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
57 INSTALL(FILES ${CAPI_INCLUDE_FILES} DESTINATION ${INCLUDE_INSTALL_DIR}/ode)