From 46358e04d2772405817050af9fd106d00dc533a7 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 19 Dec 2019 10:09:03 +0800 Subject: [PATCH] cmake: drop Find{Python,Python2}.cmake since we are python3 only, there is no need to check Python2 anymore. Signed-off-by: Kefu Chai --- cmake/modules/AddCephTest.cmake | 4 +- cmake/modules/FindPython.cmake | 224 -------------------------------- cmake/modules/FindPython2.cmake | 189 --------------------------- 3 files changed, 2 insertions(+), 415 deletions(-) delete mode 100644 cmake/modules/FindPython.cmake delete mode 100644 cmake/modules/FindPython2.cmake diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake index 66f7d8cbb31..c9ee8c1b8f6 100644 --- a/cmake/modules/AddCephTest.cmake +++ b/cmake/modules/AddCephTest.cmake @@ -36,7 +36,7 @@ if(WITH_GTEST_PARALLEL) BUILD_COMMAND "" INSTALL_COMMAND "") add_dependencies(tests gtest-parallel_ext) - find_package(Python REQUIRED) + find_package(Python3 QUIET REQUIRED) set(GTEST_PARALLEL_COMMAND ${Python3_EXECUTABLE} ${gtest_parallel_source_dir}/gtest-parallel) endif() @@ -67,7 +67,7 @@ function(add_tox_test name) list(APPEND tox_envs ${TOXTEST_TOX_ENVS}) endif() string(REPLACE ";" "," tox_envs "${tox_envs}") - find_package(Python REQUIRED) + find_package(Python3 QUIET REQUIRED) add_custom_command( OUTPUT ${venv_path}/bin/activate COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path} diff --git a/cmake/modules/FindPython.cmake b/cmake/modules/FindPython.cmake deleted file mode 100644 index 1c134e278bd..00000000000 --- a/cmake/modules/FindPython.cmake +++ /dev/null @@ -1,224 +0,0 @@ -# Distributed under the OSI-approved BSD 3-Clause License. See accompanying -# file Copyright.txt or https://cmake.org/licensing for details. - -#[=======================================================================[.rst: -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). -* ``NumPy``: search for NumPy include directories. - -If no ``COMPONENTS`` is specified, ``Interpreter`` is assumed. - -To ensure consistent versions between components ``Interpreter``, ``Compiler``, -``Development`` and ``NumPy``, 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 :module:`FindPython3` and -:module:`FindPython2` modules rather than this one. - -.. note:: - - If components ``Interpreter`` and ``Development`` are both specified, this - module search only for interpreter with same platform architecture as the one - defined by ``CMake`` configuration. This contraint does not apply if only - ``Interpreter`` component is specified. - -Imported Targets -^^^^^^^^^^^^^^^^ - -This module defines the following :ref:`Imported Targets ` -(when :prop_gbl:`CMAKE_ROLE` is ``PROJECT``): - -``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. -``Python::NumPy`` - NumPy Python library. Target defined if component ``NumPy`` is found. - -Result Variables -^^^^^^^^^^^^^^^^ - -This module will set the following variables in your project -(see :ref:`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. -``Python_NumPy_FOUND`` - System has the NumPy. -``Python_NumPy_INCLUDE_DIRS`` - The NumPy include directries. -``Python_NumPy_VERSION`` - The NumPy 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. - -``Python_FIND_REGISTRY`` - On Windows the ``Python_FIND_REGISTRY`` variable determine the order - of preference between registry and environment variables. - the ``Python_FIND_REGISTRY`` variable can be set to empty or one of the - following: - - * ``FIRST``: Try to use registry before environment variables. - This is the default. - * ``LAST``: Try to use registry after environment variables. - * ``NEVER``: Never try to use registry. - -``CMAKE_FIND_FRAMEWORK`` - On OS X the :variable:`CMAKE_FIND_FRAMEWORK` variable determine the order of - preference between Apple-style and unix-style package components. - - .. note:: - - Value ``ONLY`` is not supported so ``FIRST`` will be used instead. - -.. note:: - - If a Python virtual environment is configured, set variable - ``Python_FIND_REGISTRY`` (Windows) or ``CMAKE_FIND_FRAMEWORK`` (macOS) with - value ``LAST`` or ``NEVER`` to select it preferably. - -Commands -^^^^^^^^ - -This module defines the command ``Python_add_library`` (when -:prop_gbl:`CMAKE_ROLE` is ``PROJECT``), which has the same semantics as -:command:`add_library`, but takes care of Python module naming rules -(only applied if library is of type ``MODULE``), and adds a dependency to target -``Python::Python``:: - - Python_add_library (my_module MODULE src1.cpp) - -If library type is not specified, ``MODULE`` is assumed. -#]=======================================================================] - - -set (_PYTHON_PREFIX Python) - -if (DEFINED Python_FIND_VERSION) - set (_Python_REQUIRED_VERSION_MAJOR ${Python_FIND_VERSION_MAJOR}) - - include (${CMAKE_CURRENT_LIST_DIR}/FindPython/Support.cmake) -else() - # iterate over versions in quiet and NOT required modes to avoid multiple - # "Found" messages and prematurally failure. - set (_Python_QUIETLY ${Python_FIND_QUIETLY}) - set (_Python_REQUIRED ${Python_FIND_REQUIRED}) - set (Python_FIND_QUIETLY TRUE) - set (Python_FIND_REQUIRED FALSE) - - set (_Python_REQUIRED_VERSIONS 3 2) - set (_Python_REQUIRED_VERSION_LAST 2) - - foreach (_Python_REQUIRED_VERSION_MAJOR IN LISTS _Python_REQUIRED_VERSIONS) - set (Python_FIND_VERSION ${_Python_REQUIRED_VERSION_MAJOR}) - include (${CMAKE_CURRENT_LIST_DIR}/FindPython/Support.cmake) - if (Python_FOUND OR - _Python_REQUIRED_VERSION_MAJOR EQUAL _Python_REQUIRED_VERSION_LAST) - break() - endif() - # clean-up some CACHE variables to ensure look-up restart from scratch - foreach (_Python_ITEM IN LISTS _Python_CACHED_VARS) - unset (${_Python_ITEM} CACHE) - endforeach() - endforeach() - - unset (Python_FIND_VERSION) - - set (Python_FIND_QUIETLY ${_Python_QUIETLY}) - set (Python_FIND_REQUIRED ${_Python_REQUIRED}) - if (Python_FIND_REQUIRED OR NOT Python_FIND_QUIETLY) - # call again validation command to get "Found" or error message - find_package_handle_standard_args (Python HANDLE_COMPONENTS - REQUIRED_VARS ${_Python_REQUIRED_VARS} - VERSION_VAR Python_VERSION) - endif() -endif() - -if (COMMAND __Python_add_library) - macro (Python_add_library) - __Python_add_library (Python ${ARGV}) - endmacro() -endif() - -unset (_PYTHON_PREFIX) diff --git a/cmake/modules/FindPython2.cmake b/cmake/modules/FindPython2.cmake deleted file mode 100644 index b9c0b6b7390..00000000000 --- a/cmake/modules/FindPython2.cmake +++ /dev/null @@ -1,189 +0,0 @@ -# Distributed under the OSI-approved BSD 3-Clause License. See accompanying -# file Copyright.txt or https://cmake.org/licensing for details. - -#[=======================================================================[.rst: -FindPython2 ------------ - -Find Python 2 interpreter, compiler and development environment (include -directories and libraries). - -Three components are supported: - -* ``Interpreter``: search for Python 2 interpreter -* ``Compiler``: search for Python 2 compiler. Only offered by IronPython. -* ``Development``: search for development artifacts (include directories and - libraries) -* ``NumPy``: search for NumPy include directories. - -If no ``COMPONENTS`` is specified, ``Interpreter`` is assumed. - -To ensure consistent versions between components ``Interpreter``, ``Compiler``, -``Development`` and ``NumPy``, specify all components at the same time:: - - find_package (Python2 COMPONENTS Interpreter Development) - -This module looks only for version 2 of Python. This module can be used -concurrently with :module:`FindPython3` module to use both Python versions. - -The :module:`FindPython` module can be used if Python version does not matter -for you. - -.. note:: - - If components ``Interpreter`` and ``Development`` are both specified, this - module search only for interpreter with same platform architecture as the one - defined by ``CMake`` configuration. This contraint does not apply if only - ``Interpreter`` component is specified. - -Imported Targets -^^^^^^^^^^^^^^^^ - -This module defines the following :ref:`Imported Targets ` -(when :prop_gbl:`CMAKE_ROLE` is ``PROJECT``): - -``Python2::Interpreter`` - Python 2 interpreter. Target defined if component ``Interpreter`` is found. -``Python2::Compiler`` - Python 2 compiler. Target defined if component ``Compiler`` is found. -``Python2::Python`` - Python 2 library. Target defined if component ``Development`` is found. -``Python2::NumPy`` - NumPy library for Python 2. Target defined if component ``NumPy`` is found. - -Result Variables -^^^^^^^^^^^^^^^^ - -This module will set the following variables in your project -(see :ref:`Standard Variable Names `): - -``Python2_FOUND`` - System has the Python 2 requested components. -``Python2_Interpreter_FOUND`` - System has the Python 2 interpreter. -``Python2_EXECUTABLE`` - Path to the Python 2 interpreter. -``Python2_INTERPRETER_ID`` - A short string unique to the interpreter. Possible values include: - * Python - * ActivePython - * Anaconda - * Canopy - * IronPython -``Python2_STDLIB`` - Standard platform independent installation directory. - - Information returned by - ``distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=True)``. -``Python2_STDARCH`` - Standard platform dependent installation directory. - - Information returned by - ``distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=True)``. -``Python2_SITELIB`` - Third-party platform independent installation directory. - - Information returned by - ``distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False)``. -``Python2_SITEARCH`` - Third-party platform dependent installation directory. - - Information returned by - ``distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False)``. -``Python2_Compiler_FOUND`` - System has the Python 2 compiler. -``Python2_COMPILER`` - Path to the Python 2 compiler. Only offered by IronPython. -``Python2_COMPILER_ID`` - A short string unique to the compiler. Possible values include: - * IronPython -``Python2_Development_FOUND`` - System has the Python 2 development artifacts. -``Python2_INCLUDE_DIRS`` - The Python 2 include directories. -``Python2_LIBRARIES`` - The Python 2 libraries. -``Python2_LIBRARY_DIRS`` - The Python 2 library directories. -``Python2_RUNTIME_LIBRARY_DIRS`` - The Python 2 runtime library directories. -``Python2_VERSION`` - Python 2 version. -``Python2_VERSION_MAJOR`` - Python 2 major version. -``Python2_VERSION_MINOR`` - Python 2 minor version. -``Python2_VERSION_PATCH`` - Python 2 patch version. -``Python2_NumPy_FOUND`` - System has the NumPy. -``Python2_NumPy_INCLUDE_DIRS`` - The NumPy include directries. -``Python2_NumPy_VERSION`` - The NumPy version. - -Hints -^^^^^ - -``Python2_ROOT_DIR`` - Define the root directory of a Python 2 installation. - -``Python2_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. - -``Python2_FIND_REGISTRY`` - On Windows the ``Python2_FIND_REGISTRY`` variable determine the order - of preference between registry and environment variables. - the ``Python2_FIND_REGISTRY`` variable can be set to empty or one of the - following: - - * ``FIRST``: Try to use registry before environment variables. - This is the default. - * ``LAST``: Try to use registry after environment variables. - * ``NEVER``: Never try to use registry. - -``CMAKE_FIND_FRAMEWORK`` - On macOS the :variable:`CMAKE_FIND_FRAMEWORK` variable determine the order of - preference between Apple-style and unix-style package components. - - .. note:: - - Value ``ONLY`` is not supported so ``FIRST`` will be used instead. - -.. note:: - - If a Python virtual environment is configured, set variable - ``Python_FIND_REGISTRY`` (Windows) or ``CMAKE_FIND_FRAMEWORK`` (macOS) with - value ``LAST`` or ``NEVER`` to select it preferably. - -Commands -^^^^^^^^ - -This module defines the command ``Python2_add_library`` (when -:prop_gbl:`CMAKE_ROLE` is ``PROJECT``), which has the same semantics as -:command:`add_library`, but takes care of Python module naming rules -(only applied if library is of type ``MODULE``), and adds a dependency to target -``Python2::Python``:: - - Python2_add_library (my_module MODULE src1.cpp) - -If library type is not specified, ``MODULE`` is assumed. -#]=======================================================================] - - -set (_PYTHON_PREFIX Python2) - -set (_Python2_REQUIRED_VERSION_MAJOR 2) - -include (${CMAKE_CURRENT_LIST_DIR}/FindPython/Support.cmake) - -if (COMMAND __Python2_add_library) - macro (Python2_add_library) - __Python2_add_library (Python2 ${ARGV}) - endmacro() -endif() - -unset (_PYTHON_PREFIX) -- 2.47.3