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