B.如果搜索模式是Config mode,CMake会搜索<lowercasePackageName>-config.cmake文件或<PackageName>Config.cmake文件。如果find_package命令中指定了具体的版本,也会搜索<lowercasePackageName>-config-version.cmake或<PackageName>ConfigVersion.cmake文件。 <prefix>/ (W) <prefix>/(cmake|CMake)/ (W) <prefix...
find_package(<PackageName>[version][EXACT][QUIET][REQUIRED][[COMPONENTS][components...]][CONFIG|NO_MODULE][NO_POLICY_SCOPE][NAMESname1[name2...]][CONFIGSconfig1[config2...]][HINTSpath1[path2...]][PATHSpath1[path2...]][PATH_SUFFIXESsuffix1[suffix2...]][NO_DEFAULT_PATH][NO_PACKA...
该模式下,CMake会搜索<lowercasePackageName>-config.cmake文件或<PackageName>Config.cmake文件。如果find_package命令中指定了具体的版本,也会搜索<lowercasePackageName>-config-version.cmake或<PackageName>ConfigVersion.cmake文件,因此配置模式下通常会提供配置文件和版本文件(注意形式上要保持一致),并且作为包的一...
该模式下,CMake会搜索<lowercasePackageName>-config.cmake文件或<PackageName>Config.cmake文件。如果find_package命令中指定了具体的版本,也会搜索<lowercasePackageName>-config-version.cmake或<PackageName>ConfigVersion.cmake文件,因此配置模式下通常会提供配置文件和版本文件(注意形式上要保持一致),并且作为...
find_package 需要找到指定本版的库头文件包含路径、链接库路径等,从而能够满足我们开发项目的编译链接需要。 find_package命令便捷进行依赖包配置的前提是这个包的开发者也是用CMake配置好了这个包, 并提供了<PackageName>Config.cmake或Find<PackageName>.cmake的配置文件 ...
前面介绍了find_package有两种搜索包的模式(参考find_package介绍),本篇文章介绍其中的一种:模块模式(Module Mode)。在这种模式下,当调用find_package命令查找<PackageName>包的时候,实际上会去查找一个名为Find<PackageName>.cmake的文件,这个文件的主要任务就是确定一个包是否可用,查找的结果会反映在变量<...
在该模式下, Cmake 会搜索一个名为 Find<PackageName>.cmake 的文件,其中 <PackageName> 为待搜索包的名称。 搜索路径的顺序依次是: 如果找到文件 Find<PackageName>.cmake , Cmake 会读取并处理该文件,简而言之,它负责检查一些条件(如...
NAME:指定要查找的外部库或框架的名称。可以同时指定多个名称,以逗号分隔。 find_package(Boost REQUIRED COMPONENTS system filesystem) 上述代码将查找并加载Boost库中的system和filesystem组件。 REQUIRED:可选参数,表示该外部库或框架是项目必需的。如果找不到指定的库或框架,CMake将生成错误信息并停止配置过程。 fin...
find_package:查找并加载指定的包。 ```cmakefind_package(PackageName [REQUIRED] [NO_MODULE] [NO_POLICY_SCOPE] [NO_CMAKE_FIND_ROOT_PATH] [NO_CMAKE_SYSTEM_PATH] [NO_CMAKE_ENVIRONMENT_PATH] [NO_CMAKE_PATH] [NO_CMAKE_SYSTEM_ENVIRONMENT_PATH] [NO_CMAKE_HOST_SYSTEM_PATH] [NO_CMAKE_HOS...
在MODULE模式下,cmake通过查找名为Find<PackageName>.cmake的文件来查找包。 首先在变量CMAKE_MODULE_PATH对应的路径中去查找 如果该变量为空或者在该路径下没有找到,则进入cmake的安装目录下查找(比如我这里是/usr/share/cmake_3.17/Module)。 如果以上两个路径下没有找到指定包,则根据命令的MODULE参数设置与否...