diff options
| author | songyanchao <[email protected]> | 2022-02-27 21:43:12 -0500 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2022-02-27 21:43:12 -0500 |
| commit | fca76b2a4c51b21f811b146950b0afc701acb644 (patch) | |
| tree | 3e79dc877a6320a138cca497adfa716c990cf80e /cmake | |
| parent | 281c6b2733ca94ed4419b00a778906ac4d4bc02d (diff) | |
✨ feat(TSG-9777): 删除动态库打包流程
删除动态库打包流程
https://jira.geedge.net/browse/TSG-9777?filter=-1
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/InstallDPDK.cmake | 65 |
1 files changed, 1 insertions, 64 deletions
diff --git a/cmake/InstallDPDK.cmake b/cmake/InstallDPDK.cmake index 77ef397..4e7b15e 100644 --- a/cmake/InstallDPDK.cmake +++ b/cmake/InstallDPDK.cmake @@ -33,67 +33,4 @@ install(PROGRAMS ${DPDK_BINARY_TOOLS_PATH}/dpdk-pdump DESTINATION ${TOOLS_INSTAL RENAME mrtools-pdump COMPONENT Program) install(PROGRAMS ${DPDK_BINARY_TOOLS_PATH}/dpdk-proc-info DESTINATION ${TOOLS_INSTALL_PATH} - RENAME mrtools-pinfo COMPONENT Program) - -### 打包dpdk动态库的操作流程 -# 1. 添加dpdk的基础动态库 -## 1.1 遍历排除pmd后的所有动态库名称 DPDK_LIBRARY_NAME_LIST -## 1.2 通过动态库名查找所有相关的库文件并将其添加到rpm中 -foreach(DPDK_LIBRARY_ITEM ${DPDK_LIBRARY_NAME_LIST}) - file(GLOB DPDK_LIBRARY_GEN_LIST "${DPDK_LIBRARY_DIR}/${DPDK_LIBRARY_ITEM}*") - foreach(DPDK_LIBRARY_GEN_ITEM ${DPDK_LIBRARY_GEN_LIST}) - install(FILES ${DPDK_LIBRARY_GEN_ITEM} DESTINATION lib PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT Program) - endforeach(DPDK_LIBRARY_GEN_ITEM) -endforeach(DPDK_LIBRARY_ITEM) - -## 1.3 PMD的多个动态库需要软链这两个动态库,因此将这两个动态库放在lib目录下 -file(GLOB PMD_LIBRARY_BUS_PCI_LIST "${DPDK_LIBRARY_DIR}/dpdk/pmds-*/librte_bus_pci.*") -foreach(PMD_LIBRARY_BUS_PCI_ITEM ${PMD_LIBRARY_BUS_PCI_LIST}) -install(FILES ${PMD_LIBRARY_BUS_PCI_ITEM} DESTINATION lib PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT Program) -endforeach(PMD_LIBRARY_BUS_PCI_ITEM) - -file(GLOB PMD_LIBRARY_BUS_VDEV_LIST "${DPDK_LIBRARY_DIR}/dpdk/pmds-*/librte_bus_vdev.*") -foreach(PMD_LIBRARY_BUS_VDEV_ITEM ${PMD_LIBRARY_BUS_VDEV_LIST}) -install(FILES ${PMD_LIBRARY_BUS_VDEV_ITEM} DESTINATION lib PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT Program) -endforeach(PMD_LIBRARY_BUS_VDEV_ITEM) - -# 2. 获取PMD所有动态库的名称 -file(GLOB PMD_LIBRARY_ALL "${DPDK_LIBRARY_DIR}/dpdk/pmds-*/librte*.so") -foreach(PMD_LIBRARY_ITEM ${PMD_LIBRARY_ALL}) - string(REGEX REPLACE ".+/(.+)" "\\1" PMD_LIBTATY_NAME_ITEM ${PMD_LIBRARY_ITEM}) - list(APPEND PMD_LIBRARY_NAME_LIST ${PMD_LIBTATY_NAME_ITEM}) -endforeach(PMD_LIBRARY_ITEM) - -# 3. 获取PMD中相关MLX5的动态库名称 -file(GLOB MLX5_LIBRARY "${DPDK_LIBRARY_DIR}/dpdk/pmds-*/librte*mlx*.so") -foreach(MLX5_LIBRARY_ITEM ${MLX5_LIBRARY}) - string(REGEX REPLACE ".+/(.+)" "\\1" MLX5_LIBRARY_NAME_ITEM ${MLX5_LIBRARY_ITEM}) - list(APPEND MLX5_LIBRARY_NAME_LIST ${MLX5_LIBRARY_NAME_ITEM}) -endforeach(MLX5_LIBRARY_ITEM) - -# 4. 将MLX5动态库从PMD所有动态库列表中删除,并将所有MLX5的动态库打包到指定目录 -## 4.1 遍历MLX5动态库名称的List -## 4.2 将MLX5动态库的名称从PMD动态库的List中删除 -## 4.3 根据MLX5动态库名称查找所有相关的库文件 -## 4.4 设置MLX5相关的库文件的安装目录为 lib/pmds/mlx5 -foreach(PMD_MLX5_LIBRARY_NAME_ITEM ${MLX5_LIBRARY_NAME_LIST}) - list(REMOVE_ITEM PMD_LIBRARY_NAME_LIST "${PMD_MLX5_LIBRARY_NAME_ITEM}") - file(GLOB MLX5_LIBRARY_GEN_LIST "${DPDK_LIBRARY_DIR}/dpdk/pmds-*/${PMD_MLX5_LIBRARY_NAME_ITEM}*") - foreach(MLX5_LIBRARY_GEN_ITEM ${MLX5_LIBRARY_GEN_LIST}) - install(FILES ${MLX5_LIBRARY_GEN_ITEM} DESTINATION lib/pmds/mlx5 PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT Program) - endforeach(MLX5_LIBRARY_GEN_ITEM) -endforeach(PMD_MLX5_LIBRARY_NAME_ITEM) -## 4.5 因为librte_bus_pci以及librte_bus_vdev动态库已经放置在lib目录下,因此PMDS目录不再重复添加 -list(REMOVE_ITEM PMD_LIBRARY_NAME_LIST "librte_bus_pci.so") -list(REMOVE_ITEM PMD_LIBRARY_NAME_LIST "librte_bus_vdev.so") - -# 5. 为移除MLX5后的PMD动态库设置安装路径 -## 5.1 遍历移除MLX5后的PMD动态库的list -## 5.2 根据动态库的名称查找所有相关的库文件 -## 5.3 设置PMD相关的库文件的安装目录为lib/pmds -foreach(PMD_LIBRARY_NAME_ITEM ${PMD_LIBRARY_NAME_LIST}) - file(GLOB PMD_LIBRARY_GEN_LIST "${DPDK_LIBRARY_DIR}/dpdk/pmds-*/${PMD_LIBRARY_NAME_ITEM}*") - foreach(PMD_LIBRARY_GEN_ITEM ${PMD_LIBRARY_GEN_LIST}) - install(FILES ${PMD_LIBRARY_GEN_ITEM} DESTINATION lib/pmds PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT Program) - endforeach(PMD_LIBRARY_GEN_ITEM) -endforeach(PMD_LIBRARY_NAME_ITEM)
\ No newline at end of file + RENAME mrtools-pinfo COMPONENT Program)
\ No newline at end of file |
