set(proj python-ensurepip) # Set dependency list set(${proj}_DEPENDENCIES python) 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 pip setuptools ) ExternalProject_FindPythonPackage( MODULE_NAME "${module_name}" REQUIRED ) endforeach() ExternalProject_FindPythonPackage( MODULE_NAME ensurepip VERSION_PROPERTY "version()" REQUIRED ) endif() if(NOT Slicer_USE_SYSTEM_${proj}) 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 ensurepip --default-pip LOG_INSTALL 1 DEPENDS ${${proj}_DEPENDENCIES} ) ExternalProject_GenerateProjectDescription_Step(${proj} VERSION ${_version} ) else() ExternalProject_Add_Empty(${proj} DEPENDS ${${proj}_DEPENDENCIES}) endif()