CMAKE_PREFIX_PATH CMAKE_FRAMEWORK_PATH CMAKE_APPBUNDLE_PATH 2、搜索cmake特有的环境变量。这些变量是为了在用户的shell配置中进行配置而设计的。通过指定NO_CMAKE_ENVIRONMENT_PATH选项可以跳过该路径。搜索的路径包括: <package>_DIR CMAKE_PREFIX_PATH CMAKE_FRAMEWORK_PATH CMAKE_APPBUNDLE_PATH 3、搜索HINTS...
<package>_DIRCMAKE_PREFIX_PATHCMAKE_FRAMEWORK_PATHCMAKE_APPBUNDLE_PATHPATH 其中,PATH中的路径如果以bin或sbin结尾,则自动回退到上一级目录。 找到根目录后,cmake会检查这些目录下的 <prefix>/(lib/<arch>|lib|share)/cmake/<name>*/ (U) <prefix>/(lib/<arch>|lib|share)/<name>*/ (U) <prefi...
<prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/ ... cmake找到这些子目录后,会开始依次找<package>Config.cmake。 当我们使用find_package命令报错找不到路径时,手动添加路径即可: Module 模式:添加路径到CMAKE_MODULE_PATH变量(与include()命令共同使用这些路径) Config 模式:添加路径到Abc_DIR...
官方文档是:find_package - CMake 3.23.0-rc5 Documentation。 简单说下需要注意的几点: <PACKAGE_NAME>_DIR 你可以在 find_package 之前直接设置这个宏至依赖包路径下来告诉cmake需要查找的路径。对于一些特殊的场景有奇效。 CMAKE_PREFIX_PATH cmake统一使用该list中的路径来查找所有依赖项。所以如果你把依赖项...
<package>_DIR CMAKE_PREFIX_PATH CMAKE_FRAMEWORK_PATH CMAKE_APPBUNDLE_PATH PATH 我们可以设置<package>_DIR值,或者将查找路径添加到CMAKE_PREFIX_PATH中,实现如下: # 定义查找路径 set(Protobuf_PREFIX_PATH "/usr/local/protobuf") # 添加到 CMAKE_PREFIX_PATH ...
<package>_DIR CMAKE_PREFIX_PATH CMAKE_FRAMEWORK_PATH CMAKE_APPBUNDLE_PATH PATH 其中,PATH中的路径如果以bin或sbin结尾,则自动回退到上一级目录。 找到根目录后,cmake会检查这些目录下的 <prefix>/(lib/<arch>|lib|share)/cmake/<name>*/<prefix>/(lib/<arch>|lib|share)/<name>*/<prefix>/(lib...
ONLY_CMAKE_FIND_ROOT_PATH:只搜索重新根目录和CMAKE_STAGING_PREFIX下面的目录。 默认搜索顺序被设计为最特定于最不特定于常见用例。项目可以通过多次调用该命令并使用NO_*选项来覆盖该命令: find_package (<PackageName> PATHS paths... NO_DEFAULT_PATH) ...
如果<PackageName>_FOUND 为真,则将<PackageName>_INCLUDE_DIR 加入 INCLUDE_DIRECTORIES。 对于cmake的查找路径,不得不提到find_package的两种模式(MODULE模式和CONFIG模式),其中MODULE模式是基本用法,CONFIG模式是高级用法。除非用户显式设置,否则cmake会首先在MODULE模式下查找,在查找失败时会进入CONFIG模式继续查找。
CMAKE_BINARY_DIR:当前 CMake 运行的二进制文件目录,通常和 PROJECT_BINARY_DIR 是同一个目录 CMAKE_SOURCE_DIR:当前 CMake 运行的源文件目录,通常和 PROJECT_SOURCE_DIR 是同一个目录 CMAKE_C_STANDARD:指定 C 语言的标准版本 CMAKE_CXX_STANDARD:指定 C++ 语言的标准版本 ...
[LIB_DESTINATION dir] [HEADER_DESTINATION dir]) 2.3. 编写PICMake支持的FindPackage.cmake 对于MODULES和REQUIRED中设定的每一个PACKAGE,PICMake都会调用find_package函数去寻找对应的FindPackge.cmake文档。其中FindPackage.cmake文档需要去寻找PACKAGE的头文件路径和库文件模块。 下表列出了FindPackage的主要输入变量...