blob: 1cecf5fb17d3cc4408816648e963201829efaebc [file] [log] [blame]
Damjan Marion612dd6a2018-07-30 12:45:07 +02001# Copyright (c) 2018 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##############################################################################
15# Generate vlib/config.h
16##############################################################################
17set(PRE_DATA_SIZE 128 CACHE STRING "Buffer headroom size.")
18configure_file(
19 ${CMAKE_SOURCE_DIR}/vlib/config.h.in
20 ${CMAKE_BINARY_DIR}/vlib/config.h
21)
Damjan Marion833de8c2018-09-07 12:39:02 +020022install(
23 FILES ${CMAKE_BINARY_DIR}/vlib/config.h
24 DESTINATION include/vlib
25 COMPONENT vpp-dev
26)
Damjan Marion612dd6a2018-07-30 12:45:07 +020027
28##############################################################################
Stephen Hemminger6fbef232018-10-15 12:52:30 -070029# Find lib and include files
30##############################################################################
31message(STATUS "Looking for libuuid")
32find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h)
33find_library(UUID_LIB NAMES uuid)
34
35if(UUID_INCLUDE_DIR AND UUID_LIB)
36 include_directories(${UUID_INCLUDE_DIR})
37 set(VMBUS_SOURCE linux/vmbus.c)
38 set(VMBUS_LIBS uuid)
39 message(STATUS "Found uuid in ${UUID_INCLUDE_DIR}")
40else()
41 message(WARNING "-- libuuid not found - vmbus support disabled")
42endif()
43
44##############################################################################
Damjan Marion612dd6a2018-07-30 12:45:07 +020045# vlib shared library
46##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +020047add_vpp_library(vlib
48 SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +020049 buffer.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020050 cli.c
51 counter.c
Neale Ranns22e1f1d2019-03-01 15:53:11 +000052 drop.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020053 error.c
54 format.c
Dave Baracha638c182019-06-21 18:24:07 -040055 handoff_trace.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020056 i2c.c
57 init.c
58 linux/pci.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020059 linux/vfio.c
60 log.c
61 main.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020062 node.c
63 node_cli.c
64 node_format.c
65 pci/pci.c
Damjan Marion68b4da62018-09-30 18:26:20 +020066 physmem.c
Neale Ranns76b56492018-09-28 15:16:14 +000067 punt.c
68 punt_node.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020069 threads.c
70 threads_cli.c
71 trace.c
72 unix/cj.c
73 unix/cli.c
74 unix/input.c
75 unix/main.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020076 unix/plugin.c
77 unix/util.c
Stephen Hemminger6fbef232018-10-15 12:52:30 -070078 vmbus/vmbus.c
79 ${VMBUS_SOURCE}
Damjan Marion612dd6a2018-07-30 12:45:07 +020080
Neale Ranns22e1f1d2019-03-01 15:53:11 +000081 MULTIARCH_SOURCES
82 drop.c
Neale Ranns76b56492018-09-28 15:16:14 +000083 punt_node.c
Neale Ranns22e1f1d2019-03-01 15:53:11 +000084
Damjan Marion4553c952018-08-26 11:04:40 +020085 INSTALL_HEADERS
Damjan Marion612dd6a2018-07-30 12:45:07 +020086 buffer_funcs.h
87 buffer.h
88 buffer_node.h
89 cli_funcs.h
90 cli.h
91 counter.h
Ole Troan58492a82018-09-04 13:19:12 +020092 counter_types.h
Damjan Marion612dd6a2018-07-30 12:45:07 +020093 defs.h
94 error_funcs.h
95 error.h
96 format_funcs.h
97 global_funcs.h
98 i2c.h
99 init.h
100 linux/vfio.h
101 log.h
102 main.h
Damjan Marion612dd6a2018-07-30 12:45:07 +0200103 node_funcs.h
104 node.h
105 pci/pci_config.h
106 pci/pci.h
107 physmem_funcs.h
108 physmem.h
Neale Ranns76b56492018-09-28 15:16:14 +0000109 punt.h
Damjan Marion612dd6a2018-07-30 12:45:07 +0200110 threads.h
111 trace_funcs.h
112 trace.h
113 unix/cj.h
114 unix/mc_socket.h
115 unix/plugin.h
116 unix/unix.h
117 vlib.h
Stephen Hemminger6fbef232018-10-15 12:52:30 -0700118 vmbus/vmbus.h
Damjan Marion612dd6a2018-07-30 12:45:07 +0200119
Stephen Hemminger6fbef232018-10-15 12:52:30 -0700120 LINK_LIBRARIES vppinfra svm ${VMBUS_LIBS} ${CMAKE_DL_LIBS}
Damjan Marion4553c952018-08-26 11:04:40 +0200121)