Spec-Zone.ru › CMake 3.16

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

Эта переменная определяет обработку виртуальных сред. Она имеет смысл только при активной виртуальной среде (т.е. скрипт 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 будут проигнорированы, и поиск этого артефакта не будет выполнен.

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

Команды

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

Python2_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.16/module/FindPython2.html

Spec-Zone.ru

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