def METHOD_NAME(self):
    if cmake is None:
        raise RuntimeError('Cannot find CMake executable')
    for ext in self.extensions:
        extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
        # Use relative RPATHs to ensure the correct libraries are picked up.
        # The RPATH below covers most cases where a non-standard path is
        # used for installation. It allows to find libXrdCl with a relative
        # path from the site-packages directory. Build with install RPATH
        # because libraries are installed by Python/pip not CMake, so CMake
        # cannot fix the install RPATH later on.
        cmake_args = [
            '-DPython_EXECUTABLE={}'.format(sys.executable),
            '-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE',
            '-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY={}/{}'.format(self.build_temp, ext.name),
            '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={}/{}'.format(extdir, ext.name),
        ]
        if sys.platform == 'darwin':
            cmake_args += [ '-DCMAKE_INSTALL_RPATH=@loader_path/../../..' ]
        else:
            cmake_args += [ '-DCMAKE_INSTALL_RPATH=$ORIGIN/../../../../$LIB' ]
        cmake_args += cmdline_args
        if not os.path.exists(self.build_temp):
            os.makedirs(self.build_temp)
        check_call([cmake, ext.src, '-B', self.build_temp] + cmake_args)
        check_call([cmake, '--build', self.build_temp, '--parallel'])