CMAKE_SYSTEM_IGNORE_PATH¶
各個 find...()
命令要忽略的目錄的以分號分隔的列表。
對於 find_program()
、 find_library()
、find_file()
和 find_path()
,任何在列出的目錄中找到的檔案都會被忽略。 列出的目錄不會遞迴套用,因此任何要忽略的子目錄也必須明確列出。CMAKE_SYSTEM_IGNORE_PATH
不會影響這四個命令使用的搜尋前綴。 若要忽略搜尋前綴下的個別路徑(例如 bin
、 include
、lib
等),必須在 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
。
另請參閱下列變數