CMAKE ExternalProject_Add(如何为插件指定搜索路径)

时间:2018-09-11 06:13:27

标签: c++ cmake external-project

我正在使用Ubuntu 16.04和CMake的ExternalProject_Add为自己的项目安装软件PCL和PDAL。

我想链接PDAL和PCL,因为PDAL可以选择将PCL构建为插件。基本上,我的PCL CMake脚本将首先执行,以在特定路径(例如)build/src/pcl下安装PCL。然后,PDAL接下来将安装并寻找PCL作为插件链接。我的PDAL CMake脚本是

set(_proj_name pdal)
set(_SB_BINARY_DIR "${SB_BINARY_DIR}/${_proj_name}")

ExternalProject_Add(${_proj_name}
  DEPENDS           pcl
  PREFIX            ${_SB_BINARY_DIR}
  #--Download step--------------
  DOWNLOAD_DIR      ${SB_DOWNLOAD_DIR}
  URL               https://github.com/PDAL/PDAL/archive/1.7.2.tar.gz
  #--Update/Patch step----------
  UPDATE_COMMAND    ""
  #--Configure step-------------
  SOURCE_DIR        ${SB_SOURCE_DIR}/${_proj_name}
  CMAKE_ARGS
    -DBUILD_PLUGIN_PCL=ON
    -DBUILD_PLUGIN_PGPOINTCLOUD=OFF
    -DBUILD_PLUGIN_CPD=OFF
    -DBUILD_PLUGIN_GREYHOUND=OFF
    -DBUILD_PLUGIN_ICEBRIDGE=OFF
    -DBUILD_PLUGIN_SQLITE=OFF
    -DBUILD_PLUGIN_RIVLIB=OFF
    -DBUILD_PLUGIN_PYTHON=OFF
    -DENABLE_CTEST=OFF
    -DWITH_APPS=ON
    -DWITH_LAZPERF=OFF
    -DWITH_TESTS=OFF
    -DCMAKE_BUILD_TYPE=Release
    -DCMAKE_INSTALL_PREFIX:PATH=${SB_INSTALL_DIR}
  #--Build step-----------------
  BINARY_DIR        ${_SB_BINARY_DIR}
  #--Install step---------------
  INSTALL_DIR       ${SB_INSTALL_DIR}
)

PDAL CMake脚本能够检测到启用了构建PCL插件的选项,但是它试图在usr/lib/usr/share/local下查找PCL函数和库。

我还可以包含哪些其他CMake参数以获取PDAL CMake脚本来代替在build/src/pcl下查找PCL?

我尝试包括DPCL_DIR = build/src/pclDCMAKE_PREFIX_PATH = build/src/pcl,但无济于事。任何对正确方向的帮助或指导都将受到赞赏!

0 个答案:

没有答案