Spec-Zone.ru › CMake 3.15

FindPython3

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

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

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

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

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

find_package (Python3 COMPONENTS Interpreter Development)

Этот модуль ищет только версию 3 Python. Этот модуль может быть использован совместно с модулем FindPython2 для использования обеих версий Python.

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

Примечание

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

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

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

Python3::Interpreter

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

Python3::Compiler

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

Python3::Python

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

Python3::Module

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

Python3::NumPy

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

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

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

Python3_FOUND

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

Python3_Interpreter_FOUND

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

Python3_EXECUTABLE

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

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

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

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

Python3_STDARCH

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

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

Python3_SITELIB

Каталог установки сторонних библиотек, независимый от платформы.

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

Python3_SITEARCH

Каталог установки сторонних библиотек, зависящий от платформы.

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

Python3_Compiler_FOUND

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

Python3_COMPILER

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

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

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

Python3_INCLUDE_DIRS

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

Python3_LIBRARIES

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

Python3_LIBRARY_DIRS

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

Python3_RUNTIME_LIBRARY_DIRS

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

Python3_VERSION

Версия Python 3.

Python3_VERSION_MAJOR

Основная версия Python 3.

Python3_VERSION_MINOR

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

Python3_VERSION_PATCH

Версия исправления Python 3.

Python3_NumPy_FOUND

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

Python3_NumPy_INCLUDE_DIRS

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

Python3_NumPy_VERSION

Версия NumPy.

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

Python3_ROOT_DIR

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

Python3_USE_STATIC_LIBS
  • Если не определено, ищется общая библиотека и статическая библиотека в этом порядке.
  • Если установлено в TRUE, ищется только статическая библиотека.
  • Если установлено в FALSE, ищется только общая библиотека.
Python3_FIND_STRATEGY

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

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

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

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

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

Примечание

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

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

Python3_FIND_VIRTUALENV

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

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

Команды

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

Python3_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/FindPython3.html

Spec-Zone.ru

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