From 637dd7b40404e644519b1fc3b5ef03f2d18def00 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Fri, 25 Mar 2022 23:06:46 +0800 Subject: [PATCH] cmake/modules: avoid using distutils to address following warning from python 3.9: :1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives :1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead Signed-off-by: Kefu Chai --- cmake/modules/Distutils.cmake | 2 +- src/pybind/CMakeLists.txt | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake index 862f80820e221..1d954c3a51f49 100644 --- a/cmake/modules/Distutils.cmake +++ b/cmake/modules/Distutils.cmake @@ -64,7 +64,7 @@ function(distutils_add_cython_module target name src) set(PY_LDSHARED ${link_launcher} ${CMAKE_C_COMPILER} ${c_compiler_arg1} "-shared") execute_process(COMMAND "${Python3_EXECUTABLE}" -c - "from distutils import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" + "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" RESULT_VARIABLE result OUTPUT_VARIABLE ext_suffix ERROR_VARIABLE error diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt index cd9b27623d20e..3808d68199844 100644 --- a/src/pybind/CMakeLists.txt +++ b/src/pybind/CMakeLists.txt @@ -32,7 +32,14 @@ endif(CMAKE_INSTALL_PREFIX) execute_process( COMMAND - ${Python3_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(prefix='${PYTHON_INSTALL_TEMPLATE}'))" + ${Python3_EXECUTABLE} -c + "import sysconfig;\ + print(\ + sysconfig.get_path(\ + name='purelib',\ + vars=\ + {'base': '${PYTHON_INSTALL_TEMPLATE}',\ + 'py_version_short': sysconfig.get_config_var('py_version_short')}))" OUTPUT_VARIABLE "PYTHON3_INSTDIR" OUTPUT_STRIP_TRAILING_WHITESPACE) -- 2.39.5