FindPython
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.
Imported Targets
This module defines the following Imported Targets:
-
Python::Interpreter
- Python interpreter. Target defined if component
Interpreter
is found. -
Python::Compiler
- Python compiler. Target defined if component
Compiler
is found. -
Python::Python
- Python library. Target defined if component
Development
is found.
Result Variables
This module will set the following variables in your project (see Standard Variable Names):
-
Python_FOUND
- System has the Python requested components.
-
Python_Interpreter_FOUND
- System has the Python interpreter.
-
Python_EXECUTABLE
- Path to the Python interpreter.
-
Python_INTERPRETER_ID
-
- A short string unique to the interpreter. Possible values include:
-
- Python
- ActivePython
- Anaconda
- Canopy
- IronPython
-
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
- System has the Python compiler.
-
Python_COMPILER
- Path to the Python compiler. Only offered by IronPython.
-
Python_COMPILER_ID
-
- A short string unique to the compiler. Possible values include:
-
- IronPython
-
Python_Development_FOUND
- System has the Python development artifacts.
-
Python_INCLUDE_DIRS
- The Python include directories.
-
Python_LIBRARIES
- The Python libraries.
-
Python_LIBRARY_DIRS
- The Python library directories.
-
Python_RUNTIME_LIBRARY_DIRS
- The Python runtime library directories.
-
Python_VERSION
- Python version.
-
Python_VERSION_MAJOR
- Python major version.
-
Python_VERSION_MINOR
- Python minor version.
-
Python_VERSION_PATCH
- Python patch version.
Hints
-
Python_ROOT_DIR
- Define the root directory of a Python installation.
-
Python_USE_STATIC_LIBS
-
- If not defined, search for shared libraries and static libraries in that order.
- If set to TRUE, search only for static libraries.
- If set to FALSE, search only for shared libraries.
Commands
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–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/module/FindPython.html