summaryrefslogtreecommitdiffstats
path: root/src/ceph/cmake/modules/Finddpdk.cmake
blob: 343420a8ed7eae2f420fe7bad9b25b9572b0ce69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Try to find dpdk
#
# Once done, this will define
#
# DPDK_FOUND
# DPDK_INCLUDE_DIR
# DPDK_LIBRARIES

find_path(DPDK_INCLUDE_DIR rte_config.h
  PATH_SUFFIXES dpdk)
find_library(DPDK_rte_hash_LIBRARY rte_hash)
find_library(DPDK_rte_kvargs_LIBRARY rte_kvargs)
find_library(DPDK_rte_mbuf_LIBRARY rte_mbuf)
find_library(DPDK_rte_ethdev_LIBRARY rte_ethdev)
find_library(DPDK_rte_mempool_LIBRARY rte_mempool)
find_library(DPDK_rte_ring_LIBRARY rte_ring)
find_library(DPDK_rte_eal_LIBRARY rte_eal)
find_library(DPDK_rte_cmdline_LIBRARY rte_cmdline)
find_library(DPDK_rte_pmd_bond_LIBRARY rte_pmd_bond)
find_library(DPDK_rte_pmd_vmxnet3_uio_LIBRARY rte_pmd_vmxnet3_uio)
find_library(DPDK_rte_pmd_ixgbe_LIBRARY rte_pmd_ixgbe)
find_library(DPDK_rte_pmd_i40e_LIBRARY rte_pmd_i40e)
find_library(DPDK_rte_pmd_ring_LIBRARY rte_pmd_ring)
find_library(DPDK_rte_pmd_af_packet_LIBRARY rte_pmd_af_packet)

set(check_LIBRARIES
  ${DPDK_rte_hash_LIBRARY}
  ${DPDK_rte_kvargs_LIBRARY}
  ${DPDK_rte_mbuf_LIBRARY}
  ${DPDK_rte_ethdev_LIBRARY}
  ${DPDK_rte_mempool_LIBRARY}
  ${DPDK_rte_ring_LIBRARY}
  ${DPDK_rte_eal_LIBRARY}
  ${DPDK_rte_cmdline_LIBRARY}
  ${DPDK_rte_pmd_bond_LIBRARY}
  ${DPDK_rte_pmd_vmxnet3_uio_LIBRARY}
  ${DPDK_rte_pmd_ixgbe_LIBRARY}
  ${DPDK_rte_pmd_i40e_LIBRARY}
  ${DPDK_rte_pmd_ring_LIBRARY}
  ${DPDK_rte_pmd_af_packet_LIBRARY})

mark_as_advanced(DPDK_INCLUDE_DIR
  DPDK_rte_hash_LIBRARY
  DPDK_rte_kvargs_LIBRARY
  DPDK_rte_mbuf_LIBRARY
  DPDK_rte_ethdev_LIBRARY
  DPDK_rte_mempool_LIBRARY
  DPDK_rte_ring_LIBRARY
  DPDK_rte_eal_LIBRARY
  DPDK_rte_cmdline_LIBRARY
  DPDK_rte_pmd_bond_LIBRARY
  DPDK_rte_pmd_vmxnet3_uio_LIBRARY
  DPDK_rte_pmd_ixgbe_LIBRARY
  DPDK_rte_pmd_i40e_LIBRARY
  DPDK_rte_pmd_ring_LIBRARY
  DPDK_rte_pmd_af_packet_LIBRARY)

if (EXISTS ${WITH_DPDK_MLX5})
  find_library(DPDK_rte_pmd_mlx5_LIBRARY rte_pmd_mlx5)
  list(APPEND check_LIBRARIES ${DPDK_rte_pmd_mlx5_LIBRARY})
  mark_as_advanced(DPDK_rte_pmd_mlx5_LIBRARY)
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(dpdk DEFAULT_MSG
  DPDK_INCLUDE_DIR
  check_LIBRARIES)

if(DPDK_FOUND)
if (EXISTS ${WITH_DPDK_MLX5})
  list(APPEND check_LIBRARIES -libverbs)
endif()
  set(DPDK_LIBRARIES
    -Wl,--whole-archive ${check_LIBRARIES} -Wl,--no-whole-archive)
endif(DPDK_FOUND)