1 # Copyright (c) 2017 - 2021 Samsung Electronics Co., Ltd All Rights Reserved
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 # @file dcm-client/CMakeLists.txt
16 # @author Dariusz Michaluk <d.michaluk@samsung.com>
17 # @author Jaroslaw Pelczar <j.pelczar@samsung.com>
19 FIND_PACKAGE(Threads REQUIRED)
20 FIND_PACKAGE(Protobuf REQUIRED)
22 FIND_PACKAGE(Boost REQUIRED
26 PKG_CHECK_MODULES(CLIENT_DEPS REQUIRED dlog capi-system-info)
28 INCLUDE_DIRECTORIES(SYSTEM ${CLIENT_DEPS_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
29 LINK_DIRECTORIES(${CLIENT_DEPS_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
30 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ../include ../shared)
32 PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS dcm_support.proto)
34 SET(TARGET_CLIENT "device-certificate-manager")
35 SET(TARGET_CLIENT_EXT "device-certificate-manager-ext")
37 SET(_LIB_VERSION_ "${PROJECT_VERSION}")
38 SET(_LIB_SOVERSION_ "0")
40 ADD_LIBRARY(${TARGET_CLIENT}
43 device_certificate_manager.cpp
44 ../shared/protobuf_asio.cpp
50 ADD_LIBRARY(${TARGET_CLIENT_EXT}
52 device_certificate_manager_ext.cpp
53 ../shared/protobuf_asio.cpp
58 TARGET_LINK_LIBRARIES(${TARGET_CLIENT}
59 ${Boost_SYSTEM_LIBRARY}
60 ${PROTOBUF_LITE_LIBRARIES}
61 ${CLIENT_DEPS_LIBRARIES}
62 ${CMAKE_THREAD_LIBS_INIT})
64 TARGET_LINK_LIBRARIES(${TARGET_CLIENT_EXT}
65 ${Boost_SYSTEM_LIBRARY}
66 ${PROTOBUF_LITE_LIBRARIES}
67 ${CLIENT_DEPS_LIBRARIES}
68 ${CMAKE_THREAD_LIBS_INIT})
70 SET_PROPERTY(TARGET ${TARGET_CLIENT} APPEND PROPERTY LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version_script.lds")
71 SET_PROPERTY(TARGET ${TARGET_CLIENT_EXT} APPEND PROPERTY LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version_script_ext.lds")
73 SET_TARGET_PROPERTIES(${TARGET_CLIENT}
75 VERSION ${_LIB_VERSION_}
76 SOVERSION ${_LIB_SOVERSION_}
77 DEFINE_SYMBOL DEVICE_CERTIFICATE_MANAGER_EXPORT
78 VISIBILITY_INLINES_HIDDEN TRUE
79 C_VISIBILITY_PRESET hidden
80 CXX_VISIBILITY_PRESET hidden)
82 SET_TARGET_PROPERTIES(${TARGET_CLIENT_EXT}
84 VERSION ${_LIB_VERSION_}
85 SOVERSION ${_LIB_SOVERSION_}
86 DEFINE_SYMBOL DEVICE_CERTIFICATE_MANAGER_EXT_EXPORT
87 VISIBILITY_INLINES_HIDDEN TRUE
88 C_VISIBILITY_PRESET hidden
89 CXX_VISIBILITY_PRESET hidden)
91 INSTALL(TARGETS ${TARGET_CLIENT} ${TARGET_CLIENT_EXT}
92 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
95 ${CMAKE_CURRENT_BINARY_DIR}/dcm_support.pb.h
96 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/device-certificate-manager-backend)