CMAKE_IGNORE_PATH

分号分隔的列表,其中包含各种 find...() 命令要忽略的目录。

对于 find_program()find_library()find_file()find_path(),在列出的目录之一中找到的任何文件都将被忽略。列出的目录不递归应用,因此要忽略的任何子目录也必须显式列出。CMAKE_IGNORE_PATH 不影响这四个命令使用的搜索前缀。要忽略搜索前缀下的单个路径(例如 binincludelib 等),每个路径都必须作为完整的绝对路径列在 CMAKE_IGNORE_PATH 中。CMAKE_IGNORE_PREFIX_PATH 提供了一种更合适的方式来忽略整个搜索前缀。

find_package() 也受 CMAKE_IGNORE_PATH 的影响,但仅适用于 Config 模式 搜索。在指定的目录之一中找到的任何 <Name>Config.cmake<name>-config.cmake 文件都将被忽略。此外,出于向后兼容性原因,将跳过在 CMAKE_IGNORE_PATH 中找到的任何搜索前缀,但新代码应首选使用 CMAKE_IGNORE_PREFIX_PATH 来忽略前缀。

在交叉编译环境中,忽略搜索位置可能很有用,在这些环境中,某些系统目录包含不兼容但可能可链接的库。例如,在交叉编译的集群环境中,这允许用户忽略包含用于前端机器的库的目录。

默认情况下,CMAKE_IGNORE_PATH 为空。它旨在由项目或最终用户设置。

另请参阅以下变量