Spec-Zone.ru › CMake 3.17

FindPython2

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

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

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

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

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

find_package (Python2 COMPONENTS Interpreter Development)

Этот модуль ищет только версию 2 Python. Этот модуль можно использовать совместно с модулем FindPython3, чтобы использовать обе версии Python.

Модуль FindPython можно использовать, если версия Python для вас не имеет значения.

Примечание

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

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

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

Python2::Interpreter

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

Python2::Compiler

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

Python2::Python

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

Python2::Module

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

Python2::NumPy

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

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

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

Python2_FOUND

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

Python2_Interpreter_FOUND

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

Python2_EXECUTABLE

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

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

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

Информация получена от distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=True).

Python2_STDARCH

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

Информация получена от distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=True).

Python2_SITELIB

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

Информация получена от distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False).

Python2_SITEARCH

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

Информация получена от distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False).

Python2_Compiler_FOUND

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

Python2_COMPILER

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

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

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

Python2_INCLUDE_DIRS

Каталоги заголовочных файлов Python 2.

Python2_LIBRARIES

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

Python2_LIBRARY_DIRS

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

Python2_RUNTIME_LIBRARY_DIRS

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

Python2_VERSION

Версия Python 2.

Python2_VERSION_MAJOR

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

Python2_VERSION_MINOR

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

Python2_VERSION_PATCH

Вспомогательная версия Python 2.

Python2_NumPy_FOUND

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

Python2_NumPy_INCLUDE_DIRS

Каталоги заголовочных файлов NumPy.

Python2_NumPy_VERSION

Версия NumPy.

Рекомендации

Python2_ROOT_DIR

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

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

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

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

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

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

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

Примечание

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

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

Python2_FIND_VIRTUALENV

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

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

Примечание

Если запрашивается компонент Development , настоятельно рекомендуется включить также компонент Interpreter для получения ожидаемого результата.

Указание артефактов

Для решения специальных случаев можно напрямую указать артефакты, установив следующие переменные:

Python2_EXECUTABLE

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

Python2_COMPILER

Путь к компилятору.

Python2_LIBRARY

Путь к библиотеке. Он будет использоваться для вычисления переменных Python2_LIBRARIES, Python2_LIBRAY_DIRS и Python2_RUNTIME_LIBRARY_DIRS.

Python2_INCLUDE_DIR

Путь к каталогу заголовочных файлов Python. Он будет использоваться для вычисления переменной Python2_INCLUDE_DIRS.

Python2_NumPy_INCLUDE_DIR

Путь к каталогу заголовочных файлов NumPy. Он будет использоваться для вычисления переменной Python2_NumPy_INCLUDE_DIRS.

Примечание

Все пути должны быть абсолютными. Любой артефакт, указанный с относительным путем, будет проигнорирован.

Примечание

Когда артефакт указан, все HINTS будут проигнорированы, и поиск этого артефакта не будет выполняться.

Если указано более одного артефакта, пользователю необходимо убедиться в согласованности различных артефактов.

Команды

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

Python2_add_library (<name> [STATIC | SHARED | MODULE]
                     <source1> [<source2> ...])

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

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

Spec-Zone.ru

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