CMAKE_IGNORE_PATH¶
用于各种 find...()
命令的被忽略目录的分号分隔列表。
对于 find_program()
、find_library()
、find_file()
和 find_path()
,在列出的目录中找到的任何文件都将被忽略。列出的目录不递归应用,因此任何需要忽略的子目录也必须显式列出。CMAKE_IGNORE_PATH
不影响这四个命令使用的搜索前缀。要忽略搜索前缀下的单个路径(例如 bin
、include
、lib
等),每个路径都必须以完整绝对路径的形式列在 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
为空。它旨在由项目或最终用户设置。
另请参阅以下变量