X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fcmake%2Fmodules%2FFinddpdk.cmake;fp=src%2Fceph%2Fcmake%2Fmodules%2FFinddpdk.cmake;h=343420a8ed7eae2f420fe7bad9b25b9572b0ce69;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/cmake/modules/Finddpdk.cmake b/src/ceph/cmake/modules/Finddpdk.cmake new file mode 100644 index 0000000..343420a --- /dev/null +++ b/src/ceph/cmake/modules/Finddpdk.cmake @@ -0,0 +1,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)