我正在使用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/pcl
和DCMAKE_PREFIX_PATH = build/src/pcl
,但无济于事。任何对正确方向的帮助或指导都将受到赞赏!