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