Spec-Zone.ru › CMake

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.

См. также следующие переменные:

  • CMAKE_SYSTEM_IGNORE_PREFIX_PATH
  • CMAKE_SYSTEM_PREFIX_PATH
  • CMAKE_SYSTEM_LIBRARY_PATH
  • CMAKE_SYSTEM_INCLUDE_PATH
  • CMAKE_SYSTEM_PROGRAM_PATH

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_IGNORE_PATH.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API