FindPython — CMake 3.12.4 Documentation (original) (raw)

Find Python interpreter, compiler and development environment (include directories and libraries).

Three components are supported:

If no COMPONENTS is specified, Interpreter is assumed.

To ensure consistent versions between components Interpreter, Compilerand 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 andFindPython2 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_STDLIB

Standard platform independent installation directory.

Information returned bydistutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=True).

Python_STDARCH

Standard platform dependent installation directory.

Information returned bydistutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=True).

Python_SITELIB

Third-party platform independent installation directory.

Information returned bydistutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False).

Python_SITEARCH

Third-party platform dependent installation directory.

Information returned bydistutils.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:

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

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 targetPython::Python:

Python_add_library (my_module MODULE src1.cpp)

If library type is not specified, MODULE is assumed.