CMAKE_SYSTEM_IGNORE_PATH

各個 find...() 命令要忽略的目錄的以分號分隔的列表

對於 find_program()find_library()find_file()find_path(),任何在列出的目錄中找到的檔案都會被忽略。 列出的目錄不會遞迴套用,因此任何要忽略的子目錄也必須明確列出。CMAKE_SYSTEM_IGNORE_PATH 不會影響這四個命令使用的搜尋前綴。 若要忽略搜尋前綴下的個別路徑(例如 binincludelib 等),必須在 CMAKE_SYSTEM_IGNORE_PATH 中將每個路徑都列為完整的絕對路徑。CMAKE_SYSTEM_IGNORE_PREFIX_PATH 提供了一種更適合忽略整個搜尋前綴的方法。

find_package() 也會受到 CMAKE_SYSTEM_IGNORE_PATH 的影響,但僅限於 *Config 模式* 搜尋。 任何在指定的目錄中找到的 <Name>Config.cmake<name>-config.cmake 檔案都會被忽略。 此外,出於向後相容性的原因,任何在 CMAKE_SYSTEM_IGNORE_PATH 中找到的搜尋前綴都會被跳過,但新的程式碼應優先使用 CMAKE_SYSTEM_IGNORE_PREFIX_PATH 來忽略前綴。

在交叉編譯環境中,某些系統目錄包含不相容但可能可連結的程式庫時,忽略搜尋位置可能很有用。 例如,在交叉編譯的叢集環境中,這允許使用者忽略包含用於前端機器的程式庫的目錄。

CMAKE_SYSTEM_IGNORE_PATH 由 CMake 作為其平台和工具鏈設定的一部分來填充。 其目的是忽略包含用於主機而非目標平台的不相容二進位檔的位置。 專案或最終使用者不應修改此變數,他們應改用 CMAKE_IGNORE_PATH

另請參閱下列變數