api: lcp - Mark old message versions as deprecated
[vpp.git] / src / plugins / linux-cp / CMakeLists.txt
1 # Copyright (c) 2020 Cisco and/or its affiliates.
2 # 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
14 vpp_find_path(LIBNL3_INCLUDE_DIR NAMES libnl3/netlink/route/link/vlan.h)
15 vpp_find_path(LIBMNL_INCLUDE_DIR NAMES libmnl/libmnl.h)
16
17 if (NOT LIBNL3_INCLUDE_DIR)
18   message(WARNING "-- libnl3 headers not found - linux-cp plugin disabled")
19   return()
20 endif()
21
22 if (NOT LIBMNL_INCLUDE_DIR)
23   message(WARNING "-- libmnl headers not found - linux-cp plugin disabled")
24   return()
25 endif()
26
27 vpp_plugin_find_library(linux-cp LIBNL3_LIB libnl-3.so)
28 vpp_plugin_find_library(linux-cp LIBNL3_ROUTE_LIB libnl-route-3.so.200)
29
30 include_directories(${LIBNL3_INCLUDE_DIR}/libnl3)
31 include_directories(${LIBMNL_INCLUDE_DIR})
32
33 add_vpp_library(lcp
34   SOURCES
35   lcp_interface.c
36   lcp_interface_sync.c
37   lcp_adj.c
38   lcp.c
39
40   LINK_LIBRARIES
41   ${LIBNL3_LIB}
42   ${LIBNL3_ROUTE_LIB}
43
44   INSTALL_HEADERS
45   lcp_interface.h
46   lcp.h
47 )
48
49 add_vpp_plugin(linux_cp
50   SOURCES
51   lcp_api.c
52   lcp_cli.c
53   lcp_node.c
54
55   API_FILES
56   lcp.api
57
58   LINK_LIBRARIES
59   lcp
60 )
61
62 add_vpp_plugin(linux_cp_unittest
63   SOURCES
64   test/lcp_unittest.c
65
66   LINK_LIBRARIES
67   lcp
68 )
69
70 add_vpp_plugin(linux_nl
71   SOURCES
72   lcp_router.c
73   lcp_nl.c
74
75   LINK_LIBRARIES
76   lcp
77 )