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 影响,但仅对配置模式搜索有效。将忽略在指定目录中找到的任何 <Name>Config.cmake<name>-config.cmake 文件。此外,出于向后兼容性的原因,将跳过在 CMAKE_IGNORE_PATH 中找到的任何搜索前缀,但新代码应更倾向于使用 CMAKE_IGNORE_PREFIX_PATH 来忽略前缀。

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

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

参见以下变量