1、 find_package(<Name>)命令首先会在模块路径中寻找 Find<name>.cmake,这是查找库的一个典型方式。具体查找路径依次为CMake: 
变量${CMAKE_MODULE_PATH}中的所有目录。如果没有,然后再查看它自己的模块目录 /share/cmake-x.y/Modules/ ($CMAKE_ROOT的具体值可以通过CMake中message命令输出)。这称为模块模式。

2、 如果没找到这样的文件,find_package()会在~/.cmake/packages//usr/local/share/中的各个包目录中查找,寻找<库名字的大写>Config.cmake 或者 <库名字的小写>-config.cmake (比如库Opencv,它会查找/usr/local/share/OpenCV中的OpenCVConfig.cmakeopencv-config.cmake)。**这称为配置模式。

**不管使用哪一种模式,只要找到*.cmake*.cmake里面都会定义下面这些变量:

<NAME>_FOUND
<NAME>_INCLUDE_DIRS or <NAME>_INCLUDES <NAME>_LIBRARIES or <NAME>_LIBRARIES or <NAME>_LIBS <NAME>_DEFINITIONS

注:FIND_PACKAGE(Protobuf)//调用外部自定义cmake模块,简单理解就是外面已经有一个写好cmake脚本(和CmakeLists.txt语法一样),你想在某个CMakeLists.txt中直接调用。

转载于:https://www.cnblogs.com/qiumingcheng/p/8436308.html

find_package()的查找*.cmake的顺序相关推荐

  1. SDUT-3378_数据结构实验之查找六:顺序查找

    数据结构实验之查找六:顺序查找 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在一个给定的无序序列里,查找与给定关键字 ...

  2. 常用查找算法(顺序、折半、二叉树、哈希、分块)介绍

    一.顺序查找  条件:无序或有序队列. 原理:按顺序比较每个元素,直到找到关键字为止. 时间复杂度:O(n) 二.二分查找(折半查找)  条件:有序数组 原理:查找过程从数组的中间元素开始,如果中间元 ...

  3. 数据结构之查找算法:顺序查找

    查找算法:顺序查找 思维导图: 顺序查找的定义: 顺序查找的代码实现: 顺序查找的性能: 思维导图: 顺序查找的定义: 顺序查找的代码实现: typedef struct { //查找表数据结构int ...

  4. 顺序查找、折半查找及索引顺序查找

    静态查找表 只做查询的操作的查找表 动态查找表: 若在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已存在的某个数据元素 顺序查找: 从开头一个个比较,直到查找到关键字或者到达末尾 平 ...

  5. 查找算法--01 顺序查找和二分查找

    目      录 1. 顺序查找 1.1 顺序查找介绍 1.2 顺序查找适用范围 1.3 顺序查找代码实现 2.二分查找 2.1 二分查找介绍 2.2 二分查找适用范围 2.3 二分查找代码实现 2. ...

  6. 查找算法之顺序查找和二分查找

    1.顺序查找 基本思想:从数据结构线性表一端开始,顺序扫描,依次将扫描到的关键字值与给定key相比较,若相等则表示查找成功 :若扫描结束仍没有找到关键字等于key值的结点,表示查找失败. 顺序查找适合 ...

  7. 查找算法1——顺序查找

    查找也称为检索,是指从一批记录中找到指定记录的过程.查找算法是程序设计处理非数值问题非常重要的操作.查找算法包括:基于线性表的查找,基于树的查找,哈希表查找. 基于线性表的查找包括顺序查找.折半查找, ...

  8. java 二分搜索获得大于目标数的第一位_程序员常用查找算法(顺序、二分、插值、分块、斐波那契)...

    顺序查找 基本思想 属于线性查找和无序查找,从一端开始顺序扫描,直到找到与目标值value相等的元素. 这是最基本的查找方法,也是时间复杂度最高的查找算法. 在数据过多时,这种方法并不适用. 代码实现 ...

  9. python二分法查找算法_顺序查找算法和折半(二分法)查找算法,C语言查找算法详解...

    查找是指在大量的信息中寻找一个特定的信息.在计算机中,查找是非常重要的一个应用,比如"百度".查找算法的好坏直接影响查找的速度. 常用的查找算法主要有顺序查找和折半(二分法)查找: ...

最新文章

  1. springboot初学
  2. 【错误记录】Android Studio 运行报错 ( There is not enough memory to perform the requested operation. )
  3. 算术运算符举例java_Java的算术运算符简介
  4. ionic ui框架及creator使用帮助
  5. HTTP progressive download渐进式传输
  6. P4092-[HEOI2016/TJOI2016]树【线段树,倍增】
  7. nodejs mysql 返回json_python向mysql中存储JSON及Nodejs取出
  8. extjs中元数据_json – 如何配置ExtJS 4 Store(代理和阅读器)来读取元数据
  9. nRF51822 配对之device_manager_init 调用,以及保证 用户数据存储 的Flash 操作不与device manager 模块冲突...
  10. Metatdata分析
  11. 使用synchronized(非this对象)同步代码块解决脏读问题
  12. linux显卡测试radeon,15款热门显卡对比:Radeon RX 6800系列在Linux 1440p环境下表现出色...
  13. TensorFlow之Numpy(3)
  14. 电话机器人图文+源码介绍
  15. mysql中selec sum返回null的解决方法
  16. 【altium designer】画原理图
  17. sqlmap绕过空格过滤方法
  18. InstallShield 2010集成 net Framework 4的安装包制作
  19. uniapp实现微信登录或者QQ登录
  20. L75 Middle 颜色分类 三路快排

热门文章

  1. linux屏幕分辨率文件,Ubuntu 16.04 LTS设置屏幕分辨率显示Unknown display 解决
  2. java 嵌套listview_ListView嵌套GridView使用详解
  3. idea 关闭检查更新_Intellij idea的抑制警告(SuppressWarnings)列表(正在持续更新)
  4. vue element dialog 对话框
  5. python `__del__`
  6. VSCode Editing Code
  7. VMware日志收集方法总结
  8. vSphere 7 With K8s系列-1~9 (微信公众号需要收费)
  9. Maven学习总结(58)—— 常用的 Maven 镜像地址和中央仓库地址汇总
  10. php的完整代码块,超级实用的9个PHP代码片段