summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
author杨威 <[email protected]>2021-04-25 20:15:00 +0800
committer杨威 <[email protected]>2021-04-25 20:15:00 +0800
commit8ad3d899e13e39e061cecc5c143daa95211ff3cb (patch)
treef5ac10c0759ac1df1d28d871628b6c9c32ee2d3c /cmake
parentd67f24e5bfbef9eb27c46b3beed50355d3fd765e (diff)
增加对aarch64的判断,并调整对应的编arch编译参数v4.2.46-20210425dev-4.2
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindDPDK.cmake6
-rw-r--r--cmake/GetDPDKSupport.cmake9
2 files changed, 12 insertions, 3 deletions
diff --git a/cmake/FindDPDK.cmake b/cmake/FindDPDK.cmake
index 6b037c6..16ed254 100644
--- a/cmake/FindDPDK.cmake
+++ b/cmake/FindDPDK.cmake
@@ -26,7 +26,11 @@ find_package_handle_standard_args(DPDK DEFAULT_MSG
DPDK_ROOT_DIR DPDK_INCLUDE_DIR DPDK_LIBRARY)
if(NOT RTE_MARCH)
- set(RTE_MARCH "native")
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")
+ set(RTE_MARCH "armv8-a")
+ else()
+ set(RTE_MARCH "native")
+ endif()
endif()
# DPDK CPU Flags
diff --git a/cmake/GetDPDKSupport.cmake b/cmake/GetDPDKSupport.cmake
index 719d75d..a18d208 100644
--- a/cmake/GetDPDKSupport.cmake
+++ b/cmake/GetDPDKSupport.cmake
@@ -9,7 +9,12 @@ set(DPDK_RTE_SDK $ENV{RTE_SDK})
set(DPDK_RTE_TARGET $ENV{RTE_TARGET})
# DPDK CPU Flags
-set(DPDK_MACHINE_FLAGS "-march=native")
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")
+ set(DPDK_MACHINE_FLAGS "-march=armv8-a")
+else()
+ set(DPDK_MACHINE_FLAGS "-march=native")
+endif()
+
exec_program(${CMAKE_C_COMPILER} ARGS "${DPDK_MACHINE_FLAGS} -dM -E - < /dev/null" OUTPUT_VARIABLE DPDK_AUTOFLAGS)
if(DPDK_AUTOFLAGS MATCHES "__SSE__")
@@ -107,4 +112,4 @@ set(DPDK_LIBRARY_LINK
set(DPDK_C_PREDEFINED ${DPDK_ARCH_FLAGS} ${DPDK_MACHINE_FLAGS} ${DPDK_FORCE_INCLUDE})
set(DPDK_CXX_PREDEFINED ${DPDK_ARCH_FLAGS} ${DPDK_MACHINE_FLAGS} ${DPDK_FORCE_INCLUDE})
set(DPDK_INCLUDE_DIR "${DPDK_RTE_SDK}/${DPDK_RTE_TARGET}/include")
-set(DPDK_LIBRARY ${DPDK_LIBRARY_PATH} ${DPDK_LIBRARY_LINK}) \ No newline at end of file
+set(DPDK_LIBRARY ${DPDK_LIBRARY_PATH} ${DPDK_LIBRARY_LINK})