mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 17:57:51 +08:00
d92ad530a9
DPDK is a set of libraries and drivers for fast packet processing. (cherry picked from commit 8127cb7b23557f21281186980883fdfb4fa08c47)
48 lines
1.9 KiB
CMake
48 lines
1.9 KiB
CMake
INCLUDE(vcpkg_common_functions)
|
|
|
|
IF (NOT VCPKG_CMAKE_SYSTEM_NAME OR NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
MESSAGE(FATAL_ERROR "Intel dpdk currently only supports Linux/BSD platforms")
|
|
ENDIF ()
|
|
|
|
VCPKG_FROM_GITHUB(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO DPDK/dpdk
|
|
REF v19.02
|
|
SHA512 e0cc7081b163b4e264b65c1abb7e0f8aa29211539cecc5cf52986699b800eb4d4f2026377c3048c5c3bd2791e41f21645bb655797a3300740aa83633fb87626e
|
|
HEAD_REF master
|
|
)
|
|
|
|
FIND_PATH(NUMA_INCLUDE_DIR NAME numa.h
|
|
PATHS ENV NUMA_ROOT
|
|
HINTS $ENV{HOME}/local/include /opt/local/include /usr/local/include /usr/include
|
|
)
|
|
IF (NOT NUMA_INCLUDE_DIR)
|
|
MESSAGE(FATAL_ERROR "Numa library not found.\nTry: 'sudo yum install numactl numactl-devel' (or sudo apt-get install libnuma1 libnuma-dev)")
|
|
ENDIF ()
|
|
|
|
VCPKG_CONFIGURE_CMAKE(
|
|
SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}
|
|
PREFER_NINJA
|
|
OPTIONS
|
|
-DSOURCE_PATH=${SOURCE_PATH}
|
|
)
|
|
|
|
VCPKG_INSTALL_CMAKE()
|
|
|
|
# Headers are symbolic links here, gather all, resolve and copy real files
|
|
FILE(GLOB_RECURSE HEADERS FOLLOW_SYMLINKS "${SOURCE_PATH}/build/include/*")
|
|
SET(REAL_FILES "")
|
|
FOREACH (HEADER ${HEADERS})
|
|
GET_FILENAME_COMPONENT(REAL_FILE "${HEADER}" REALPATH)
|
|
LIST(APPEND REAL_FILES "${REAL_FILE}")
|
|
ENDFOREACH ()
|
|
|
|
FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
|
FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
|
FILE(INSTALL ${REAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
|
|
FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/dpdkConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
|
FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
|
FILE(INSTALL ${SOURCE_PATH}/license/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
|
|
|
VCPKG_TEST_CMAKE(PACKAGE_NAME ${PORT})
|