如何设置CMake搜索路径

Vor*_*rac 4 linux cmake

在我的CMakeLists.txt中

include (CheckFunctionExists.cmake)
Run Code Online (Sandbox Code Playgroud)

当我跑ccmake(我正在遵循官方教程)

 CMake Error at CMakeLists.txt:10 (include):
   include could not find load file:

     CheckFunctionExists.cmake
Run Code Online (Sandbox Code Playgroud)

但是,我指定的文件:

sw3@pc90313-sw3:~/learn_cmake/build$ find / -name CheckFunctionExists.cmake 2>/dev/null
/usr/share/cmake-2.8/Modules/CheckFunctionExists.cmake
Run Code Online (Sandbox Code Playgroud)

我正在使用Ubuntu 13.04存储库的cmake安装:

sw3@pc90313-sw3:~/learn_cmake/build$ cmake --version
cmake version 2.8.10.1
Run Code Online (Sandbox Code Playgroud)

如果指定了绝对路径,那么一切都运行良好,并生成一个工作的makefile.但是,这种解决方法远非理想(并且与教程不同).问题出在哪里?

Vor*_*rac 6

路径被调用${CMAKE_ROOT}.所以系统文件的正确include命令是

include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
Run Code Online (Sandbox Code Playgroud)

,在本教程后面提到.