Skip to content

Commit

Permalink
Fix code to obtain Python relative install dir in Python 3.12
Browse files Browse the repository at this point in the history
As the code in some cases return slightly different results then the previous version (see #1238 (comment)), we only use it when Python >= 3.12 .
  • Loading branch information
traversaro authored Oct 30, 2023
1 parent 7c6c6e2 commit b98aba6
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,13 @@ include(RobotologySuperbuildOptions)
# Python-related logic
if(ROBOTOLOGY_USES_PYTHON)
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(1,0,prefix=''))"
OUTPUT_VARIABLE _PYTHON_INSTDIR)
if(Python3_VERSION VERSION_GREATER_EQUAL 3.12)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import os;import sysconfig;relative_site_packages = sysconfig.get_path('purelib').replace(sysconfig.get_path('data'), '').lstrip(os.path.sep);print(relative_site_packages)"
OUTPUT_VARIABLE _PYTHON_INSTDIR)
else()
execute_process(COMMAND ${Python3_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(1,0,prefix=''))"
OUTPUT_VARIABLE _PYTHON_INSTDIR)
endif()
string(STRIP ${_PYTHON_INSTDIR} ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR)
file(TO_CMAKE_PATH "${ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR}" ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR)

Expand Down

0 comments on commit b98aba6

Please sign in to comment.