e01c325b022b59f883107cc92e713419654385ce
[platform/core/security/cynara.git] / src / common / CMakeLists.txt
1 # Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
2 #
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
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
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.
14 #
15 # @file        CMakeLists.txt
16 # @author      Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
17 #
18
19 SET(CYNARA_COMMON_VERSION_MAJOR 0)
20 SET(CYNARA_COMMON_VERSION ${CYNARA_COMMON_VERSION_MAJOR}.4.2)
21
22 SET(COMMON_PATH ${CYNARA_PATH}/common)
23
24 INCLUDE_DIRECTORIES(
25     ${CYNARA_PATH}/include
26     )
27
28 SET(COMMON_SOURCES
29     ${COMMON_PATH}/config/PathConfig.cpp
30     ${COMMON_PATH}/containers/BinaryQueue.cpp
31     ${COMMON_PATH}/lock/FileLock.cpp
32     ${COMMON_PATH}/log/log.cpp
33     ${COMMON_PATH}/plugin/PluginManager.cpp
34     ${COMMON_PATH}/protocol/ProtocolAdmin.cpp
35     ${COMMON_PATH}/protocol/ProtocolAgent.cpp
36     ${COMMON_PATH}/protocol/ProtocolClient.cpp
37     ${COMMON_PATH}/protocol/ProtocolFrame.cpp
38     ${COMMON_PATH}/protocol/ProtocolFrameHeader.cpp
39     ${COMMON_PATH}/protocol/ProtocolFrameSerializer.cpp
40     ${COMMON_PATH}/protocol/ProtocolSerialization.cpp
41     ${COMMON_PATH}/protocol/ProtocolSignal.cpp
42     ${COMMON_PATH}/request/AdminCheckRequest.cpp
43     ${COMMON_PATH}/request/AgentActionRequest.cpp
44     ${COMMON_PATH}/request/AgentRegisterRequest.cpp
45     ${COMMON_PATH}/request/CancelRequest.cpp
46     ${COMMON_PATH}/request/CheckRequest.cpp
47     ${COMMON_PATH}/request/InsertOrUpdateBucketRequest.cpp
48     ${COMMON_PATH}/request/ListRequest.cpp
49     ${COMMON_PATH}/request/RemoveBucketRequest.cpp
50     ${COMMON_PATH}/request/RequestTaker.cpp
51     ${COMMON_PATH}/request/SetPoliciesRequest.cpp
52     ${COMMON_PATH}/request/SignalRequest.cpp
53     ${COMMON_PATH}/response/AdminCheckResponse.cpp
54     ${COMMON_PATH}/response/AgentActionResponse.cpp
55     ${COMMON_PATH}/response/AgentRegisterResponse.cpp
56     ${COMMON_PATH}/response/CancelResponse.cpp
57     ${COMMON_PATH}/response/CheckResponse.cpp
58     ${COMMON_PATH}/response/CodeResponse.cpp
59     ${COMMON_PATH}/response/ListResponse.cpp
60     ${COMMON_PATH}/response/ResponseTaker.cpp
61     ${COMMON_PATH}/sockets/Socket.cpp
62     ${COMMON_PATH}/sockets/SocketClient.cpp
63     ${COMMON_PATH}/types/PolicyBucket.cpp
64     ${COMMON_PATH}/types/PolicyKey.cpp
65     ${COMMON_PATH}/types/PolicyKeyHelpers.cpp
66     ${COMMON_PATH}/types/PolicyResult.cpp
67     )
68
69 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
70 SET(COMMON_SOURCES ${COMMON_SOURCES}
71     ${COMMON_PATH}/log/Backtrace.cpp
72     )
73 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
74
75 ADD_DEFINITIONS("-fvisibility=default")
76
77 ADD_LIBRARY(${TARGET_CYNARA_COMMON} SHARED ${COMMON_SOURCES})
78
79 SET_TARGET_PROPERTIES(
80     ${TARGET_CYNARA_COMMON}
81     PROPERTIES
82         SOVERSION ${CYNARA_COMMON_VERSION_MAJOR}
83         VERSION ${CYNARA_COMMON_VERSION}
84     )
85
86 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
87 SET(CYNARA_DBG_LIBRARIES
88     ${CYNARA_DEP_LIBRARIES}
89     dw
90     )
91 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
92
93 TARGET_LINK_LIBRARIES(${TARGET_CYNARA_COMMON}
94     ${CYNARA_DEP_LIBRARIES}
95     ${CYNARA_DBG_LIBRARIES}
96     dl
97     )
98
99 INSTALL(TARGETS ${TARGET_CYNARA_COMMON} DESTINATION ${LIB_INSTALL_DIR})
100 INSTALL(FILES
101     ${COMMON_PATH}/types/ClientSession.h
102     ${COMMON_PATH}/types/PolicyResult.h
103     ${COMMON_PATH}/types/PolicyType.h
104     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/types
105     )
106 INSTALL(FILES
107     ${COMMON_PATH}/plugin/ExternalPluginInterface.h
108     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/plugin
109     )