FindPython
Поиск интерпретатора Python, компилятора и среды разработки (включая каталоги заголовочных файлов и библиотеки).
Поддерживаются три компонента:
-
Interpreter: поиск интерпретатора Python. -
Compiler: поиск компилятора Python. Предлагается только для IronPython. -
Development: поиск артефактов разработки (каталоги заголовочных файлов и библиотеки).
Если COMPONENTS не указан, предполагается Interpreter.
Для обеспечения согласованной версии между компонентами Interpreter, Compiler и Development, укажите все компоненты одновременно:
find_package (Python COMPONENTS Interpreter Development)
Этот модуль предпочтительно ищет версию 3 Python. Если она не найдена, ищется версия 2. Для управления одновременными версиями 3 и 2 Python используйте модули FindPython3 и FindPython2, а не этот.
Импортированные цели
Этот модуль определяет следующие импортированные цели:
-
Python::Interpreter - Интерпретатор Python. Цель определена, если найден компонент
Interpreter. -
Python::Compiler - Компилятор Python. Цель определена, если найден компонент
Compiler. -
Python::Python - Библиотека Python. Цель определена, если найден компонент
Development.
Переменные результатов
Этот модуль установит следующие переменные в вашем проекте (см. Стандартные имена переменных):
-
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_ROOT_DIR - Определите корневой каталог установки Python.
-
Python_USE_STATIC_LIBS -
- Если не определено, поиск общих библиотек и статических библиотек выполняется в таком порядке.
- Если установлено в TRUE, поиск выполняется только для статических библиотек.
- Если установлено в FALSE, поиск выполняется только для общих библиотек.
-
Python_FIND_REGISTRY -
В Windows переменная
Python_FIND_REGISTRYопределяет порядок предпочтения между реестром и переменными окружения. ПеременнаяPython_FIND_REGISTRYможет быть установлена в пустую строку или в одно из следующих значений:-
FIRST: Попробовать использовать реестр перед переменными окружения. Это значение по умолчанию. -
LAST: Попробовать использовать реестр после переменных окружения. -
NEVER: Никогда не пытаться использовать реестр.
-
-
CMAKE_FIND_FRAMEWORK -
В OS X переменная
CMAKE_FIND_FRAMEWORKопределяет порядок предпочтения между компонентами пакетов в стиле Apple и unix-стиле.Примечание
Значение
ONLYне поддерживается, поэтому используетсяFIRST.
Примечание
Если настроен виртуальный окружение Python, установите переменную Python_FIND_REGISTRY (Windows) или CMAKE_FIND_FRAMEWORK (macOS) со значением LAST или NEVER, чтобы предпочтительно использовать его.
Команды
Этот модуль определяет команду Python_add_library, которая имеет ту же семантику, что и add_library(), но учитывает правила именования модулей Python (применяется только если тип библиотеки MODULE) и добавляет зависимость к цели Python::Python.
Python_add_library (my_module MODULE src1.cpp)
Если тип библиотеки не указан, предполагается MODULE.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.13/module/FindPython.html