blob: 2209923547a12bc19d6f62ecde645578331e69d2 [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
50 buffer_serialize.c
51 cli.c
52 counter.c
53 error.c
54 format.c
55 i2c.c
56 init.c
57 linux/pci.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020058 linux/vfio.c
59 log.c
60 main.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020061 node.c
62 node_cli.c
63 node_format.c
64 pci/pci.c
Damjan Marion68b4da62018-09-30 18:26:20 +020065 physmem.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020066 threads.c
67 threads_cli.c
68 trace.c
69 unix/cj.c
70 unix/cli.c
71 unix/input.c
72 unix/main.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020073 unix/plugin.c
74 unix/util.c
Stephen Hemminger6fbef232018-10-15 12:52:30 -070075 vmbus/vmbus.c
76 ${VMBUS_SOURCE}
Damjan Marion612dd6a2018-07-30 12:45:07 +020077
Damjan Marion4553c952018-08-26 11:04:40 +020078 INSTALL_HEADERS
Damjan Marion612dd6a2018-07-30 12:45:07 +020079 buffer_funcs.h
80 buffer.h
81 buffer_node.h
82 cli_funcs.h
83 cli.h
84 counter.h
Ole Troan58492a82018-09-04 13:19:12 +020085 counter_types.h
Damjan Marion612dd6a2018-07-30 12:45:07 +020086 defs.h
87 error_funcs.h
88 error.h
89 format_funcs.h
90 global_funcs.h
91 i2c.h
92 init.h
93 linux/vfio.h
94 log.h
95 main.h
Damjan Marion612dd6a2018-07-30 12:45:07 +020096 node_funcs.h
97 node.h
98 pci/pci_config.h
99 pci/pci.h
100 physmem_funcs.h
101 physmem.h
102 threads.h
103 trace_funcs.h
104 trace.h
105 unix/cj.h
106 unix/mc_socket.h
107 unix/plugin.h
108 unix/unix.h
109 vlib.h
Stephen Hemminger6fbef232018-10-15 12:52:30 -0700110 vmbus/vmbus.h
Damjan Marion612dd6a2018-07-30 12:45:07 +0200111
Stephen Hemminger6fbef232018-10-15 12:52:30 -0700112 LINK_LIBRARIES vppinfra svm ${VMBUS_LIBS} ${CMAKE_DL_LIBS}
Damjan Marion4553c952018-08-26 11:04:40 +0200113)