CMake基础教程(26)find_package搜索包完成库链接和头文件添加(module模式)

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMake基础教程(26)find_package搜索包完成库链接和头文件添加(module模式)相关的知识,希望对你有一定的参考价值。

文章目录


find_package命令有两种工作模式,我们今天先介绍简单的模块模式。

1、语法

这种模式下,cmake会先去cmake变量CMAKE_MODULE_PATH所指示的路径列表搜索一个叫Find.cmake的文件,然后再去cmake自带的find模块下查找。如果该文件找到了,cmake就会读取并执行。

什么是find模块?

为了方便我们在项目中引入外部依赖包,cmake官方为我们预定义了许多寻找依赖包的Module,他们存储在path_to_your_cmake/share/cmake-<version>/Modules目录下。每个以Find<LibaryName>.cmake命名的文件都可以帮我们找到一个包。我们也可以在官方文档中查看到哪些库官方已经为我们定义好了,我们可以直接使用find_package函数进行引用官方文档:Find Modules

CMAKE_MODULE_PATH变量默认为空,实际开发中经常会将该变量赋值成CURRENT_SOURCE_DIR/cmake,然后cmake目录下

以上是关于CMake基础教程(26)find_package搜索包完成库链接和头文件添加(module模式)的主要内容,如果未能解决你的问题,请参考以下文章

GNU开发工具——CMake模块

OpenCV Find_Package Emscripten - WebAssembly

CMake系列专题--find_package

CMake中find_package的使用

Cmake中find_package命令的搜索模式之配置模式(Config mode)

find_package()的查找*.cmake的顺序