Blob Blame History Raw
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 ()