命令行相当于cmake的find_package?

时间:2015-03-04 19:38:50

标签: cmake

我正在调试一个无法找到某些软件包的cmake文件(使用find_package())。 find_package()在搜索包时实际做了什么,我可以通过命令行调用来模拟它(不调用cmake)吗?

1 个答案:

答案 0 :(得分:18)

<强> 1。 find_package的作用:

来自documentation of find_package()

  

CMake在CMAKE_MODULE_PATH中搜索名为Find.cmake的文件,然后进行CMake安装。如果找到该文件,则由CMake读取并处理。

在Linux上,默认脚本通常位于此处:

ls /usr/share/cmake*/Modules/Find*.cmake

<强> 2。如何在命令行中使用find_package:

# cmake --find-package -DNAME=Boost -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=EXIST
Boost found

# cmake --find-package -DNAME=Boost -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=COMPILE
-I/usr/include

# cmake --find-package -DNAME=Boost -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=LINK
   -rdynamic