我还想知道在 Linux (Ubuntu) 中find_package(<package>)查找时设置的默认变量<package>?
把我的评论变成答案
如果您必须将其分解为“最重要的单一”路径,它将是包含预装模块的 CMake 自己的模块路径Find...。
将 CMake 指向自定义路径的最重要的全局变量变量是CMAKE_MODULE_PATH.
如果您想查看 CMake 在您的情况下搜索哪些目录,只需调用
cmake -D CMAKE_FIND_DEBUG_MODE=ON ..
Run Code Online (Sandbox Code Playgroud)
整个“搜索算法”记录在find_package()命令文档中:
在特定于 cmake 的缓存变量中指定的搜索路径。如果
NO_CMAKE_PATH通过,则可以跳过此步骤:Run Code Online (Sandbox Code Playgroud)CMAKE_PREFIX_PATH CMAKE_FRAMEWORK_PATH CMAKE_APPBUNDLE_PATH在特定于 cmake 的环境变量中指定的搜索路径。如果
NO_CMAKE_ENVIRONMENT_PATH通过,则可以跳过此步骤:Run Code Online (Sandbox Code Playgroud)<package>_DIR CMAKE_PREFIX_PATH CMAKE_FRAMEWORK_PATH CMAKE_APPBUNDLE_PATH
HINTS选项指定的搜索路径。应该使用PATHS选项指定硬编码的猜测。搜索标准系统环境变量。如果
NO_SYSTEM_ENVIRONMENT_PATH通过,则可以跳过此步骤:Run Code Online (Sandbox Code Playgroud)PATH存储在 CMake 用户包注册表中的搜索路径。如果
NO_CMAKE_PACKAGE_REGISTRY通过或将 设置为CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY,则可以跳过此步骤TRUE。搜索在当前系统的平台文件中定义的 cmake 变量。如果
NO_CMAKE_SYSTEM_PATH通过,则可以跳过此步骤:Run Code Online (Sandbox Code Playgroud)CMAKE_SYSTEM_PREFIX_PATH CMAKE_SYSTEM_FRAMEWORK_PATH CMAKE_SYSTEM_APPBUNDLE_PATH存储在 CMake 系统包注册表中的搜索路径。如果
NO_CMAKE_SYSTEM_PACKAGE_REGISTRY通过或将 设置为CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY,则可以跳过此步骤TRUE。
PATHS选项指定的搜索路径。这些通常是硬编码的猜测。
| 归档时间: |
|
| 查看次数: |
4389 次 |
| 最近记录: |