FIND_PACKAGE
我有一个关于CMake 中的函数的快速问题。我有一个利用点云库(PCL)的项目。PCL 依赖于 Boost,我的项目也是如此。所以,在我的 CMakeLists.txt 的顶部,我有以下内容:
FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options)
# Preserve project Boost required libraries
SET(Boost_PROJECT_LIBRARIES ${Boost_LIBRARIES})
FIND_PACKAGE(PCL 1.6 REQUIRED COMPONENTS common search)
我的项目使用了 Boost.program_options 库,而 PCL 还需要其他几个。运行时,它会用自己所需的库FIND_PACKAGE(PCL ...)
覆盖以前的内容。${Boost_LIBRARIES}
我想出了一个解决方法来保存我的项目所需的 Boost 库,然后找到 PCL 包。
我对 CMake 大师的问题是否有更好的方法来处理 CMake 中的此类事情?或者,这可能是 FindBoost.cmake 或 FindPCL.cmake 模块中的错误吗?