Blob Blame History Raw
From 4d033d65a61708645669a3b143db8d664b135b76 Mon Sep 17 00:00:00 2001
From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur@gmail.com>
Date: Wed, 19 Aug 2020 09:48:56 +0100
Subject: [PATCH 03/11] Disable python build and install

---
 src/nrnpython/CMakeLists.txt | 72 ------------------------------------
 1 file changed, 72 deletions(-)

diff --git a/src/nrnpython/CMakeLists.txt b/src/nrnpython/CMakeLists.txt
index e4a4e3f18..4f9a767d3 100644
--- a/src/nrnpython/CMakeLists.txt
+++ b/src/nrnpython/CMakeLists.txt
@@ -206,81 +206,9 @@ if(NRN_ENABLE_MODULE_INSTALL)
             ${PROJECT_BINARY_DIR}/share/nrn/lib
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/share/demo
             ${PROJECT_BINARY_DIR}/share/nrn/demo)
-  # Don't do exactly the same copy twice in a row. Presumably it's sometimes important to do both...
-  if(NOT "${NRN_BUILD_SHARE_DIR}/lib" STREQUAL "${PROJECT_BINARY_DIR}/share/nrn/lib")
-    add_custom_command(
-      TARGET hoc_module
-      PRE_BUILD
-      COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/share/lib
-              ${NRN_BUILD_SHARE_DIR}/lib)
-  endif()
-
-  # =============================================================================
-  # Build python module
-  # =============================================================================
-  # for each python detected / provided by user, install module at install time
-
-  # Workaround for: https://github.com/neuronsimulator/nrn/issues/1605 See:
-  # https://setuptools.pypa.io/en/latest/deprecated/distutils-legacy.html
-  # https://setuptools.pypa.io/en/latest/history.html#id228
-  set(extra_env ${CMAKE_COMMAND} -E env "SETUPTOOLS_USE_DISTUTILS=stdlib")
-
-  if(NRN_SANITIZERS)
-    # Make sure the same compiler (currently always clang in the sanitizer builds) is used to link
-    # as was used to build. By default, Python will try to use the compiler that was used to build
-    # Python, which is often gcc.
-    list(APPEND extra_env "LDCSHARED=${CMAKE_C_COMPILER} ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}"
-         "LDCXXSHARED=${CMAKE_CXX_COMPILER} ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
-  endif()
-
-  foreach(pyexe ${NRN_PYTHON_EXE_LIST})
-    add_custom_command(
-      TARGET hoc_module
-      POST_BUILD
-      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/inithoc.cpp
-              ${CMAKE_CURRENT_BINARY_DIR}/inithoc.cpp
-      COMMAND
-        ${CMAKE_COMMAND} -E copy_if_different
-        ${PROJECT_SOURCE_DIR}/share/lib/python/neuron/help_data.dat
-        ${CMAKE_CURRENT_BINARY_DIR}/lib/python/neuron/help_data.dat
-      COMMAND ${extra_env} ${pyexe} setup.py --quiet build --build-lib=${NRN_PYTHON_BUILD_LIB}
-      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-      COMMENT "Building python module with: ${pyexe}")
-  endforeach(pyexe)
 
   add_dependencies(hoc_module nrniv_lib ${nrnpython_lib_list})
   if(NRN_ENABLE_RX3D)
     add_dependencies(hoc_module rxd_cython_generated)
   endif()
-
-  # ~~~
-  # neuron module (possibly with multiple extension versions) was built
-  # in NRN_PYTHON_BUILD_LIB. Not a problem if install overwrites multiple
-  # times to same install folder or if each install ends up in different
-  # place.
-  # ~~~
-  file(
-    WRITE ${CMAKE_CURRENT_BINARY_DIR}/neuron_module_install.sh
-    "\
-#!bash\n\
-echo 'Installing python module using:'\n\
-set -ex\n\
-cd ${CMAKE_CURRENT_BINARY_DIR}\n\
-export SETUPTOOLS_USE_DISTUTILS=stdlib
-$1 setup.py --quiet build --build-lib=${NRN_PYTHON_BUILD_LIB} install ${NRN_MODULE_INSTALL_OPTIONS}\n\
-")
-  foreach(pyexe ${NRN_PYTHON_EXE_LIST})
-    # install(CODE ...) only takes a single CMake code expression, so we can't easily roll our own
-    # check on the return code. Modern CMake versions support the COMMAND_ERROR_IS_FATAL option,
-    # which will cause the installation to abort if the shell script returns an error code.
-    if(${CMAKE_VERSION} VERSION_LESS "3.19")
-      install(
-        CODE "execute_process(COMMAND bash ${CMAKE_CURRENT_BINARY_DIR}/neuron_module_install.sh ${pyexe})"
-      )
-    else()
-      install(
-        CODE "execute_process(COMMAND bash ${CMAKE_CURRENT_BINARY_DIR}/neuron_module_install.sh ${pyexe} COMMAND_ERROR_IS_FATAL LAST)"
-      )
-    endif()
-  endforeach(pyexe)
 endif()
-- 
2.39.1