Spec-Zone.ru › CMake 3.15

FindPython

Поиск интерпретатора Python, компилятора и среды разработки (включая каталоги заголовков и библиотеки).

Поддерживаются три компонента:

  • Interpreter: поиск интерпретатора Python.
  • Compiler: поиск компилятора Python. Предлагается только IronPython.
  • Development: поиск артефактов разработки (каталоги заголовков и библиотеки).
  • NumPy: поиск каталогов заголовков NumPy.

Если COMPONENTS не указан, предполагается Interpreter.

Чтобы обеспечить согласованные версии между компонентами Interpreter, Compiler, Development и NumPy, укажите все компоненты одновременно:

find_package (Python COMPONENTS Interpreter Development)

Этот модуль предпочтительно ищет версию 3 Python. Если она не найдена, ищется версия 2. Чтобы управлять одновременными версиями 3 и 2 Python, используйте модули FindPython3 и FindPython2, а не этот.

Примечание

Если оба компонента Interpreter и Development указаны, этот модуль ищет только интерпретатор с той же архитектурой платформы, что и определённая конфигурацией CMake. Это ограничение не применяется, если указан только компонент Interpreter.

Импортированные цели

Этот модуль определяет следующие импортированные цели (когда CMAKE_ROLE равно PROJECT):

Python::Interpreter

Интерпретатор Python. Цель определена, если найден компонент Interpreter.

Python::Compiler

Компилятор Python. Цель определена, если найден компонент Compiler.

Python::Python

Библиотека Python для встраивания Python. Цель определена, если найден компонент Development.

Python::Module

Библиотека Python для модулей Python. Цель определена, если найден компонент Development.

Python::NumPy

Библиотека NumPy Python. Цель определена, если найден компонент NumPy.

Переменные результатов

Этот модуль установит следующие переменные в вашем проекте (см. Стандартные имена переменных):

Python_FOUND

Система имеет запрошенные компоненты Python.

Python_Interpreter_FOUND

Система имеет интерпретатор Python.

Python_EXECUTABLE

Путь к интерпретатору Python.

Python_INTERPRETER_ID
Короткая строка, уникальная для интерпретатора. Возможные значения включают:
  • Python
  • ActivePython
  • Anaconda
  • Canopy
  • IronPython
Python_STDLIB

Стандартный независимый от платформы каталог установки.

Информация возвращается distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=True).

Python_STDARCH

Стандартный зависящий от платформы каталог установки.

Информация возвращается distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=True).

Python_SITELIB

Третья сторона независимый от платформы каталог установки.

Информация возвращается distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False).

Python_SITEARCH

Третья сторона зависящий от платформы каталог установки.

Информация возвращается distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False).

Python_Compiler_FOUND

Система имеет компилятор Python.

Python_COMPILER

Путь к компилятору Python. Предлагается только IronPython.

Python_COMPILER_ID
Короткая строка, уникальная для компилятора. Возможные значения включают:
  • IronPython
Python_Development_FOUND

Система имеет артефакты разработки Python.

Python_INCLUDE_DIRS

Каталоги заголовков Python.

Python_LIBRARIES

Библиотеки Python.

Python_LIBRARY_DIRS

Каталоги библиотек Python.

Python_RUNTIME_LIBRARY_DIRS

Каталоги библиотек выполнения Python.

Python_VERSION

Версия Python.

Python_VERSION_MAJOR

Главная версия Python.

Python_VERSION_MINOR

Дополнительная версия Python.

Python_VERSION_PATCH

Версия патча Python.

Python_NumPy_FOUND

Система имеет NumPy.

Python_NumPy_INCLUDE_DIRS

Каталоги заголовков NumPy.

Python_NumPy_VERSION

Версия NumPy.

Подсказки

Python_ROOT_DIR

Определите корневой каталог установки Python.

Python_USE_STATIC_LIBS
  • Если не определён, поиск общих библиотек и статических библиотек в указанном порядке.
  • Если установлено в TRUE, поиск только статических библиотек.
  • Если установлено в FALSE, поиск только общих библиотек.
Python_FIND_STRATEGY

Эта переменная определяет, как будет выполняться поиск. Переменная Python_FIND_STRATEGY может быть пустой или иметь одно из следующих значений:

  • VERSION: Попытка найти последнюю версию во всех указанных расположениях. Это значение по умолчанию, если политика CMP0094 не определена или установлена в OLD.
  • LOCATION: Остановка поиска, как только будет найдена версия, удовлетворяющая ограничениям версии. Это значение по умолчанию, если политика CMP0094 установлена в NEW.
Python_FIND_REGISTRY

В Windows переменная Python_FIND_REGISTRY определяет порядок предпочтения между реестром и переменными среды. Переменная Python_FIND_REGISTRY может быть пустой или иметь одно из следующих значений:

  • FIRST: Попытка использовать реестр перед переменными среды. Это значение по умолчанию.
  • LAST: Попытка использовать реестр после переменных среды.
  • NEVER: Никогда не пытаться использовать реестр.
Python_FIND_FRAMEWORK

В macOS переменная Python_FIND_FRAMEWORK определяет порядок предпочтения между компонентами пакета в стиле Apple и стиле Unix. Эта переменная может быть пустой или принимать те же значения, что и переменная CMAKE_FIND_FRAMEWORK.

Примечание

Значение ONLY не поддерживается, поэтому будет использоваться значение FIRST.

Если Python_FIND_FRAMEWORK не определена, будет использована переменная CMAKE_FIND_FRAMEWORK, если таковая имеется.

Python_FIND_VIRTUALENV

Эта переменная определяет обработку виртуальных сред. Она имеет смысл только при активной виртуальной среде (т. е. сценарий activate был выполнен). В этом случае она имеет приоритет над переменными Python_FIND_REGISTRY и CMAKE_FIND_FRAMEWORK. Переменная Python_FIND_VIRTUALENV может быть пустой или иметь одно из следующих значений:

  • FIRST: Виртуальная среда используется перед любыми другими стандартными путями для поиска интерпретатора. Это значение по умолчанию.
  • ONLY: Использована только виртуальная среда для поиска интерпретатора.
  • STANDARD: Виртуальная среда не используется для поиска интерпретатора. В этом случае переменная Python_FIND_REGISTRY (Windows) или CMAKE_FIND_FRAMEWORK (macOS) может быть установлена со значением LAST или NEVER для предпочтительного выбора интерпретатора из виртуальной среды.

Команды

Этот модуль определяет команду Python_add_library (когда CMAKE_ROLE равно PROJECT), которая имеет ту же семантику, что и add_library(), добавляет зависимость к цели Python::Python или, когда тип библиотеки MODULE, к цели Python::Module, и учитывает правила именования модулей Python:

Python_add_library (my_module MODULE src1.cpp)

Если тип библиотеки не указан, предполагается MODULE.

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/module/FindPython.html

Spec-Zone.ru

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