diff --new-file -Nau mlpack-3.0.4/src/mlpack/bindings/python/CMakeLists.txt mlpack-3.0.4-mod/src/mlpack/bindings/python/CMakeLists.txt --- mlpack-3.0.4/src/mlpack/bindings/python/CMakeLists.txt 2018-11-13 17:33:55.000000000 -0500 +++ mlpack-3.0.4-mod/src/mlpack/bindings/python/CMakeLists.txt 2019-02-12 14:15:02.913562109 -0500 @@ -166,11 +166,11 @@ "${CMAKE_CURRENT_SOURCE_DIR}/print_python_version.py" "${CMAKE_INSTALL_PREFIX}" OUTPUT_VARIABLE NEW_PYTHONPATH) install(CODE "set(ENV{PYTHONPATH} ${NEW_PYTHONPATH})") +install(CODE "set(PYTHON_EXECUTABLE \"${PYTHON_EXECUTABLE}\")") +install(CODE "set(CMAKE_BINARY_DIR \"${CMAKE_BINARY_DIR}\")") +install(CODE "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\")") install(CODE "execute_process(COMMAND mkdir -p $ENV{DESTDIR}${NEW_PYTHONPATH})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} - \"${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/setup.py\" install - --prefix=${CMAKE_INSTALL_PREFIX} --root=$ENV{DESTDIR} - WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/\")") +install(SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/PythonInstall.cmake) # Prepare __init__.py for having all of the convenience imports appended to it. file(COPY mlpack/__init__.py DESTINATION diff --new-file -Nau mlpack-3.0.4/src/mlpack/bindings/python/PythonInstall.cmake mlpack-3.0.4-mod/src/mlpack/bindings/python/PythonInstall.cmake --- mlpack-3.0.4/src/mlpack/bindings/python/PythonInstall.cmake 1969-12-31 19:00:00.000000000 -0500 +++ mlpack-3.0.4-mod/src/mlpack/bindings/python/PythonInstall.cmake 2019-02-12 14:15:02.913562109 -0500 @@ -0,0 +1,22 @@ +# PythonInstall.cmake +# +# A utility script to install Python bindings and fail fatally if installation +# was not successful. +message(STATUS "DESTDIR is $ENV{DESTDIR}") +if (DEFINED ENV{DESTDIR}) + execute_process(COMMAND ${PYTHON_EXECUTABLE} + "${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/setup.py" install + --prefix=${CMAKE_INSTALL_PREFIX} --root=$ENV{DESTDIR} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/" + RESULT_VARIABLE setup_res) +else () + execute_process(COMMAND ${PYTHON_EXECUTABLE} + "${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/setup.py" install + --prefix=${CMAKE_INSTALL_PREFIX} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/mlpack/bindings/python/" + RESULT_VARIABLE setup_res) +endif () + +if (NOT ${setup_res} EQUAL "0") + message(FATAL_ERROR "Error installing Python bindings!") +endif ()