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 ()