Cmake 有没有办法在ExternalProject\u add target上添加pkg\u check\u模块依赖项
我正在使用ExternalProject\u Add从tar导入第三方库(dpdk)Cmake 有没有办法在ExternalProject\u add target上添加pkg\u check\u模块依赖项,cmake,Cmake,我正在使用ExternalProject\u Add从tar导入第三方库(dpdk) ExternalProject_Add( build-dpdk URL ${CMAKE_CURRENT_LIST_DIR}/dpdk-20.11.1.tar.xz URL_MD5 c6be9347f0200dc5315035720b732499 CONFIGURE_COMMAND meson <BINARY_DIR> <SOURCE_DIR> BUIL
ExternalProject_Add( build-dpdk
URL ${CMAKE_CURRENT_LIST_DIR}/dpdk-20.11.1.tar.xz
URL_MD5 c6be9347f0200dc5315035720b732499
CONFIGURE_COMMAND meson <BINARY_DIR> <SOURCE_DIR>
BUILD_COMMAND ninja
INSTALL_COMMAND DESTDIR=<INSTALL_DIR> ninja install
)
但pkg_check_模块在配置阶段触发。有没有办法在ExternalProject\u add上添加pkg\u check\u模块的依赖项?您可以发布当前的
pkg config--cflags--libs libdpdk的结果吗?据我回忆,默认的pkg\u检查\u模块(DPDK需要libdpdk)
检查标准文件夹,如/usr/lib//usr/include/
,以查找库和头。由于您正在使用ExternalProject\u Add
作为一个单独的函数来构建和安装,您是否尝试在install\u命令DESTDIR=ninja install
的末尾添加ldconfig
。是否有关于检查comemnt中建议的参数的更新?是的,pkg\u check\u模块将在您提到的标准文件夹中进行检查。为了提供特定的搜索路径,我们可以设置env变量PKG_CONFIG_path或设置CMAKE_PREFIX_path。问题是,只有在ExternalProject添加构建并安装libdpdk.pc之后,我才找到了调用pkg_check_模块的方法。前者在配置阶段触发,后者在构建阶段触发。那么安装后的ldconfig对您有用吗?
pkg_check_modules(DPDK REQUIRED libdpdk)