Release 0.5.0
[platform/core/security/cynara.git] / src / common / CMakeLists.txt
1 # Copyright (c) 2014-2015 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}.5.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}/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/DescriptionListRequest.cpp
48     ${COMMON_PATH}/request/EraseRequest.cpp
49     ${COMMON_PATH}/request/InsertOrUpdateBucketRequest.cpp
50     ${COMMON_PATH}/request/ListRequest.cpp
51     ${COMMON_PATH}/request/RemoveBucketRequest.cpp
52     ${COMMON_PATH}/request/RequestTaker.cpp
53     ${COMMON_PATH}/request/SetPoliciesRequest.cpp
54     ${COMMON_PATH}/request/SignalRequest.cpp
55     ${COMMON_PATH}/response/AdminCheckResponse.cpp
56     ${COMMON_PATH}/response/AgentActionResponse.cpp
57     ${COMMON_PATH}/response/AgentRegisterResponse.cpp
58     ${COMMON_PATH}/response/CancelResponse.cpp
59     ${COMMON_PATH}/response/CheckResponse.cpp
60     ${COMMON_PATH}/response/CodeResponse.cpp
61     ${COMMON_PATH}/response/DescriptionListResponse.cpp
62     ${COMMON_PATH}/response/ListResponse.cpp
63     ${COMMON_PATH}/response/ResponseTaker.cpp
64     ${COMMON_PATH}/sockets/Socket.cpp
65     ${COMMON_PATH}/sockets/SocketClient.cpp
66     ${COMMON_PATH}/types/PolicyBucket.cpp
67     ${COMMON_PATH}/types/PolicyDescription.cpp
68     ${COMMON_PATH}/types/PolicyKey.cpp
69     ${COMMON_PATH}/types/PolicyKeyHelpers.cpp
70     ${COMMON_PATH}/types/PolicyResult.cpp
71     ${COMMON_PATH}/types/PolicyType.cpp
72     )
73
74 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
75 SET(COMMON_SOURCES ${COMMON_SOURCES}
76     ${COMMON_PATH}/log/Backtrace.cpp
77     )
78 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
79
80 ADD_DEFINITIONS("-fvisibility=default")
81
82 ADD_LIBRARY(${TARGET_CYNARA_COMMON} SHARED ${COMMON_SOURCES})
83
84 SET_TARGET_PROPERTIES(
85     ${TARGET_CYNARA_COMMON}
86     PROPERTIES
87         SOVERSION ${CYNARA_COMMON_VERSION_MAJOR}
88         VERSION ${CYNARA_COMMON_VERSION}
89     )
90
91 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
92 SET(CYNARA_DBG_LIBRARIES
93     ${CYNARA_DEP_LIBRARIES}
94     dw
95     )
96 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
97
98 TARGET_LINK_LIBRARIES(${TARGET_CYNARA_COMMON}
99     ${CYNARA_DEP_LIBRARIES}
100     ${CYNARA_DBG_LIBRARIES}
101     dl
102     )
103
104 INSTALL(TARGETS ${TARGET_CYNARA_COMMON} DESTINATION ${LIB_INSTALL_DIR})
105 INSTALL(FILES
106     ${COMMON_PATH}/log/log.h
107     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/log
108     )
109 INSTALL(FILES
110     ${COMMON_PATH}/types/ClientSession.h
111     ${COMMON_PATH}/types/PolicyDescription.h
112     ${COMMON_PATH}/types/PolicyResult.h
113     ${COMMON_PATH}/types/PolicyType.h
114     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/types
115     )
116 INSTALL(FILES
117     ${COMMON_PATH}/plugin/ExternalPluginInterface.h
118     DESTINATION ${INCLUDE_INSTALL_DIR}/cynara/plugin
119     )