Find Python interpreter, compiler and development environment (include directories and libraries).
Three components are supported:
Interpreter
: search for Python interpreter.Compiler
: search for Python compiler. Only offered by IronPython.Development
: search for development artifacts (include directories and libraries).If no COMPONENTS
is specified, Interpreter
is assumed.
To ensure consistent versions between components Interpreter
, Compiler
and Development
, specify all components at the same time:
find_package (Python COMPONENTS Interpreter Development)
This module looks preferably for version 3 of Python. If not found, version 2 is searched. To manage concurrent versions 3 and 2 of Python, use FindPython3
and FindPython2
modules rather than this one.
This module defines the following Imported Targets:
Python::Interpreter
Interpreter
is found.Python::Compiler
Compiler
is found.Python::Python
Development
is found.This module will set the following variables in your project (see Standard Variable Names):
Python_FOUND
Python_Interpreter_FOUND
Python_EXECUTABLE
Python_INTERPRETER_ID
Python_STDLIB
Standard platform independent installation directory.
Information returned by distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=True)
.
Python_STDARCH
Standard platform dependent installation directory.
Information returned by distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=True)
.
Python_SITELIB
Third-party platform independent installation directory.
Information returned by distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False)
.
Python_SITEARCH
Third-party platform dependent installation directory.
Information returned by distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False)
.
Python_Compiler_FOUND
Python_COMPILER
Python_COMPILER_ID
Python_Development_FOUND
Python_INCLUDE_DIRS
Python_LIBRARIES
Python_LIBRARY_DIRS
Python_RUNTIME_LIBRARY_DIRS
Python_VERSION
Python_VERSION_MAJOR
Python_VERSION_MINOR
Python_VERSION_PATCH
Python_ROOT_DIR
Python_USE_STATIC_LIBS
This module defines the command Python_add_library
which have the same semantic as add_library()
but take care of Python module naming rules (only applied if library is of type MODULE
) and add dependency to target Python::Python
:
Python_add_library (my_module MODULE src1.cpp)
If library type is not specified, MODULE
is assumed.
© 2000–2018 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/module/FindPython.html