set(proj python-extension-manager-requirements) # Set dependency list set(${proj}_DEPENDENCIES python python-pip python-setuptools ) if(NOT DEFINED Slicer_USE_SYSTEM_${proj}) set(Slicer_USE_SYSTEM_${proj} ${Slicer_USE_SYSTEM_python}) endif() # Include dependent projects if any ExternalProject_Include_Dependencies(${proj} PROJECT_VAR proj DEPENDS_VAR ${proj}_DEPENDENCIES) if(Slicer_USE_SYSTEM_${proj}) foreach(module_name IN ITEMS chardet couchdb git gitdb six smmap ) ExternalProject_FindPythonPackage( MODULE_NAME "${module_name}" REQUIRED ) endforeach() endif() if(NOT Slicer_USE_SYSTEM_${proj}) set(requirements_file ${CMAKE_BINARY_DIR}/${proj}-requirements.txt) file(WRITE ${requirements_file} [===[ chardet==3.0.4 --hash=sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 couchdb==1.2 --hash=sha256:13a28a1159c49f8346732e8724b9a4d65cba54bec017c4a7eeb1499fe88151d1 gitdb2==2.0.6 --hash=sha256:96bbb507d765a7f51eb802554a9cfe194a174582f772e0d89f4e87288c288b7b smmap2==2.0.5 --hash=sha256:0555a7bf4df71d1ef4218e4807bbf9b201f910174e6e08af2e138d4e517b4dde GitPython==3.0.4 --hash=sha256:a7d6bef0775f66ba47f25911d285bcd692ce9053837ff48a120c2b8cf3a71389 six==1.12.0 --hash=sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c ]===]) ExternalProject_Add(${proj} ${${proj}_EP_ARGS} DOWNLOAD_COMMAND "" SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj} BUILD_IN_SOURCE 1 CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ${PYTHON_EXECUTABLE} -m pip install --require-hashes -r ${requirements_file} LOG_INSTALL 1 DEPENDS ${${proj}_DEPENDENCIES} ) ExternalProject_GenerateProjectDescription_Step(${proj} VERSION ${_version} ) else() ExternalProject_Add_Empty(${proj} DEPENDS ${${proj}_DEPENDENCIES}) endif()