Commit 9f62e9b9 authored by Baird, Mark's avatar Baird, Mark
Browse files

Adding functionality to build python with required modules

parent a7861a7f
Loading
Loading
Loading
Loading
+54 −16
Original line number Diff line number Diff line
@@ -18,28 +18,66 @@ ENDIF(NOT TRIBITS_PROCESSING_PACKAGE)

file(COPY SubKit doc tests LICENSE MANIFEST.in README.md DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

find_package(PythonInterp 2.7 REQUIRED )
find_package(PythonLibs 2.7 REQUIRED )
find_program(PYTHON "python")
#find_package(PythonInterp 2.7.14 REQUIRED )
#find_package(PythonLibs 2.7.14 REQUIRED )
#find_program(PYTHON "python")

if (PYTHON)
    set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
    set(SETUP_PY    "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
    set(DEPS        "${CMAKE_CURRENT_SOURCE_DIR}/SubKit/__init__.py")
    set(OUTPUT      "${CMAKE_CURRENT_BINARY_DIR}/build/timestamp")
#if(NOT (PYTHON))
  if(UNIX AND NOT APPLE)
     MESSAGE("Start ${PYTHON_CONFIGURE_COMMAND}")
     ADD_CUSTOM_COMMAND(
     COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}
     COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/SubKit/utils/bundle/linux/Miniconda2-latest-Linux-x86_64.sh  -b -u -p ${CMAKE_INSTALL_PREFIX}/conda
     COMMAND ${CMAKE_INSTALL_PREFIX}/conda/bin/pip install -r ${CMAKE_CURRENT_BINARY_DIR}/SubKit/utils/bundle/linux/requirements.txt --no-index --find-links file://${CMAKE_CURRENT_BINARY_DIR}/SubKit/utils/bundle/linux
     OUTPUT miniconda.log
     COMMENT "Building python via MiniConda"
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SubKit/utils/bundle/linux
     )
     ADD_CUSTOM_TARGET(
     BuildPython ALL
     DEPENDS miniconda.log
     )
  else()
     MESSAGE("Start ${PYTHON_CONFIGURE_COMMAND}")
     ADD_CUSTOM_COMMAND(
     COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}
     COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/SubKit/utils/bundle/linux/Miniconda2-latest-Linux-x86_64.sh  -b -p ${CMAKE_INSTALL_PREFIX}/conda
     COMMAND ${CMAKE_INSTALL_PREFIX}/conda/bin/pip install -r ${CMAKE_CURRENT_BINARY_DIR}/SubKit/util/bundle/macos/requirements.txt --no-index --find-links file://${CMAKE_CURRENT_BINARY_DIR}/SubKit/util/bundle/macos
     OUTPUT miniconda.log
     COMMENT "Building python via MiniConda"
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SubKit/utils
     )
     ADD_CUSTOM_TARGET(
     BuildPython ALL
     DEPENDS miniconda.log
     )
  endif()
#  ADD_CUSTOM_TARGET(
#  always_run_target ALL
#  DEPENDS miniconda.log
#  )
#  EXECUTE_PROCESS(
#  COMMAND ${PYTHON_UPDATE_CONFIGURE_COMMAND}
#  WORKING_DIRECTORY {CMAKE_CURRENT_SOURCE_DIR}/SubKit/util
#  )

    configure_file(${SETUP_PY_IN} ${SETUP_PY})
#    set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
#    set(SETUP_PY    "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
#    set(DEPS        "${CMAKE_CURRENT_SOURCE_DIR}/SubKit/__init__.py")
#    set(OUTPUT      "${CMAKE_CURRENT_BINARY_DIR}/build/timestamp")

    add_custom_command(OUTPUT ${OUTPUT}
                       COMMAND ${PYTHON} ${SETUP_PY} build
                       COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
                       DEPENDS ${DEPS})
#    configure_file(${SETUP_PY_IN} ${SETUP_PY})

    add_custom_target(subkit ALL DEPENDS ${OUTPUT})
#    add_custom_command(OUTPUT ${OUTPUT}
#                       COMMAND ${PYTHON} ${SETUP_PY} build
#                       COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
#                       DEPENDS ${DEPS})
#
#    add_custom_target(subkit ALL DEPENDS ${OUTPUT})

    # This next line does not work because python install complains this directory is not in the python path
    #install(CODE "execute_process(COMMAND ${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install --home=${CMAKE_INSTALL_PREFIX})")
    # So we are stuck with installing SubKit to the site-packages instead
    # Specify --user to do a local install
    install(CODE "execute_process(COMMAND ${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install --user)")
endif()
#    install(CODE "execute_process(COMMAND ${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install --user)")
#endif()
+39.9 MiB

File added.

Preview size limit exceeded, changes collapsed.

+30.4 MiB

File added.

Preview size limit exceeded, changes collapsed.

+39.9 MiB

File added.

Preview size limit exceeded, changes collapsed.

+745 KiB

File added.

No diff preview for this file type.

Loading