Release 0.4.0
[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.0)
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}/log/log.cpp
32     ${COMMON_PATH}/plugin/PluginManager.cpp
33     ${COMMON_PATH}/protocol/ProtocolAdmin.cpp
34     ${COMMON_PATH}/protocol/ProtocolAgent.cpp
35     ${COMMON_PATH}/protocol/ProtocolClient.cpp
36     ${COMMON_PATH}/protocol/ProtocolFrame.cpp
37     ${COMMON_PATH}/protocol/ProtocolFrameHeader.cpp
38     ${COMMON_PATH}/protocol/ProtocolFrameSerializer.cpp
39     ${COMMON_PATH}/protocol/ProtocolSerialization.cpp
40     ${COMMON_PATH}/protocol/ProtocolSignal.cpp
41     ${COMMON_PATH}/request/AdminCheckRequest.cpp
42     ${COMMON_PATH}/request/AgentActionRequest.cpp
43     ${COMMON_PATH}/request/AgentRegisterRequest.cpp
44     ${COMMON_PATH}/request/CancelRequest.cpp
45     ${COMMON_PATH}/request/CheckRequest.cpp
46     ${COMMON_PATH}/request/InsertOrUpdateBucketRequest.cpp
47     ${COMMON_PATH}/request/RemoveBucketRequest.cpp
48     ${COMMON_PATH}/request/RequestTaker.cpp
49     ${COMMON_PATH}/request/SetPoliciesRequest.cpp
50     ${COMMON_PATH}/request/SignalRequest.cpp
51     ${COMMON_PATH}/response/AgentActionResponse.cpp
52     ${COMMON_PATH}/response/AgentRegisterResponse.cpp
53     ${COMMON_PATH}/response/CancelResponse.cpp
54     ${COMMON_PATH}/response/CheckResponse.cpp
55     ${COMMON_PATH}/response/CodeResponse.cpp
56     ${COMMON_PATH}/response/ResponseTaker.cpp
57     ${COMMON_PATH}/sockets/Socket.cpp
58     ${COMMON_PATH}/sockets/SocketClient.cpp
59     ${COMMON_PATH}/types/PolicyBucket.cpp
60     ${COMMON_PATH}/types/PolicyKey.cpp
61     ${COMMON_PATH}/types/PolicyKeyHelpers.cpp
62     ${COMMON_PATH}/types/PolicyResult.cpp
63     )
64
65 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
66 SET(COMMON_SOURCES ${COMMON_SOURCES}
67     ${COMMON_PATH}/log/Backtrace.cpp
68     )
69 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
70
71 ADD_DEFINITIONS("-fvisibility=default")
72
73 ADD_LIBRARY(${TARGET_CYNARA_COMMON} SHARED ${COMMON_SOURCES})
74
75 SET_TARGET_PROPERTIES(
76     ${TARGET_CYNARA_COMMON}
77     PROPERTIES
78         SOVERSION ${CYNARA_COMMON_VERSION_MAJOR}
79         VERSION ${CYNARA_COMMON_VERSION}
80     )
81
82 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
83 SET(CYNARA_DBG_LIBRARIES
84     ${CYNARA_DEP_LIBRARIES}
85     dw
86     )
87 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
88
89 TARGET_LINK_LIBRARIES(${TARGET_CYNARA_COMMON}
90     ${CYNARA_DEP_LIBRARIES}
91     ${CYNARA_DBG_LIBRARIES}
92     )
93
94 INSTALL(TARGETS ${TARGET_CYNARA_COMMON} DESTINATION ${LIB_INSTALL_DIR})
95 INSTALL(FILES
96     ${COMMON_PATH}/types/PolicyResult.h
97     ${COMMON_PATH}/types/PolicyType.h
98     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/types
99     )
100 INSTALL(FILES
101     ${COMMON_PATH}/plugin/ExternalPluginInterface.h
102     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/plugin
103     )