cmake在哪里寻找包裹?

Kar*_*rus 7 c++ ubuntu cmake

Ubuntu 14.04,我正在编译一个C++程序,它取决于以下包:CUDAOpenNI.在CMakeListst.txt该程序的文件中,有以下内容:

find_package(CUDA)
find_package(OpenNI)
Run Code Online (Sandbox Code Playgroud)

输出到cmake:

Found CUDA: /usr/local/cuda (found version "6.5") 
-- Could NOT find OpenNI (missing:  OpenNI_LIBRARY OpenNI_INCLUDE_DIR)
Run Code Online (Sandbox Code Playgroud)

所以,它似乎CUDA被发现了,但事实OpenNI并非如此.现在,我已经安装了OpenNI,但可能不在标准位置.虽然CUDA文件是usr/local/cuda如上所述,但我的OpenNI文件是在~/Libraries/OpenNI.

我的问题是:如何判断cmake在哪里定义OpenNI_LIBRARYOpenNI_INCLUDE_DIR变量?是否存在某个文件,其中cmake包含为所有这些变量定义的路径,我可能需要手动编辑?

Jen*_*unk 5

它在 CMAKE_MODULE_PATH 中查找。

使用这样的表达式附加到此路径

列表(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)