diff --git a/ament_cmake_python/ament_cmake_python-extras.cmake b/ament_cmake_python/ament_cmake_python-extras.cmake index d8825818..63406d3a 100644 --- a/ament_cmake_python/ament_cmake_python-extras.cmake +++ b/ament_cmake_python/ament_cmake_python-extras.cmake @@ -47,13 +47,15 @@ macro(_ament_cmake_python_get_python_install_dir) set(_python_code "\ import os +import re import sysconfig -schemes = sysconfig.get_scheme_names() kwargs = {'vars': {'base': '${CMAKE_INSTALL_PREFIX}'}} -if 'deb_system' in schemes or 'osx_framework_library' in schemes: - kwargs['scheme'] = 'posix_prefix' -elif 'rpm_prefix' in schemes: - kwargs['scheme'] = 'rpm_prefix' +if not re.match(r'^/usr/?$', '${CMAKE_INSTALL_PREFIX}'): + schemes = sysconfig.get_scheme_names() + if 'deb_system' in schemes or 'osx_framework_library' in schemes: + kwargs['scheme'] = 'posix_prefix' + elif 'rpm_prefix' in schemes: + kwargs['scheme'] = 'rpm_prefix' print(os.path.relpath(sysconfig.get_path('purelib', **kwargs), start='${CMAKE_INSTALL_PREFIX}').replace(os.sep, '/'))" ) get_executable_path(_python_interpreter Python3::Interpreter CONFIGURE)