blob: 2f738f39d1afbd8209d3c3e5b6552cde70c05897 [file] [log] [blame]
Florin Coras5e062572019-03-14 19:07:51 -07001# Copyright (c) 2018-2019 Cisco and/or its affiliates.
Damjan Marion612dd6a2018-07-30 12:45:07 +02002# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
Tom Jones3076c692024-01-31 09:42:37 +000014if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
15 message(WARNING "-- vppcom is currently only support on Linux - disabled")
16 return()
17endif()
18
Damjan Marion612dd6a2018-07-30 12:45:07 +020019##############################################################################
20# vppcom shared library
21##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +020022add_vpp_library(vppcom
23 SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +020024 vppcom.c
25 vcl_bapi.c
26 vcl_cfg.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020027 vcl_private.c
Florin Coras7baeb712019-01-04 17:05:43 -080028 vcl_locked.c
Florin Coras935ce752020-09-08 22:43:47 -070029 vcl_sapi.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020030
Damjan Marion4553c952018-08-26 11:04:40 +020031 LINK_LIBRARIES
32 vppinfra svm vlibmemoryclient rt pthread
Florin Coras41c9e042018-09-11 00:10:41 -070033
34 DEPENDS
35 api_headers
Damjan Marion4553c952018-08-26 11:04:40 +020036)
37
Florin Coras36847942023-02-02 12:56:16 -080038option(LDP_HAS_GNU_SOURCE "LDP configured to use _GNU_SOURCE" ON)
39if (LDP_HAS_GNU_SOURCE)
40 add_compile_definitions(HAVE_GNU_SOURCE)
41endif(LDP_HAS_GNU_SOURCE)
42
Damjan Marion855e2682018-08-24 13:37:45 +020043add_vpp_library(vcl_ldpreload
44 SOURCES
45 ldp_socket_wrapper.c
46 ldp.c
47
48 LINK_LIBRARIES
Matthew Smith0be66e12018-09-07 17:14:30 -050049 vppinfra svm vlibmemoryclient rt pthread vppcom dl
Damjan Marion855e2682018-08-24 13:37:45 +020050)
51
Damjan Marion4553c952018-08-26 11:04:40 +020052add_vpp_headers(vcl
Damjan Marion2bfdda72018-08-24 21:36:42 +020053 ldp.h
Damjan Marion2bfdda72018-08-24 21:36:42 +020054 ldp_glibc_socket.h
Damjan Marion612dd6a2018-07-30 12:45:07 +020055 vppcom.h
Florin Coras7baeb712019-01-04 17:05:43 -080056 vcl_locked.h
Damjan Marion2bfdda72018-08-24 21:36:42 +020057 ldp_socket_wrapper.h
Tom Jones3076c692024-01-31 09:42:37 +000058)