include(SlicerCheckCMakeHTTPS) slicer_check_cmake_https() #----------------------------------------------------------------------------- # Git protocol option #----------------------------------------------------------------------------- option(${CMAKE_PROJECT_NAME}_USE_GIT_PROTOCOL "Turn off if using GitHub or behind a firewall." OFF) set(git_protocol "https") if(${CMAKE_PROJECT_NAME}_USE_GIT_PROTOCOL) set(git_protocol "git") endif() #----------------------------------------------------------------------------- # Enable and setup External project global properties #----------------------------------------------------------------------------- set(ep_common_c_flags "${CMAKE_C_FLAGS_INIT} ${ADDITIONAL_C_FLAGS}") set(ep_common_cxx_flags "${CMAKE_CXX_FLAGS_INIT} ${ADDITIONAL_CXX_FLAGS}") #----------------------------------------------------------------------------- # Project dependencies #----------------------------------------------------------------------------- include(ExternalProject) foreach(dep ${EXTENSION_DEPENDS}) mark_as_superbuild(${dep}_DIR) endforeach() set(proj ${SUPERBUILD_TOPLEVEL_PROJECT}) set(${proj}_DEPENDS "python-pyradiomics") ExternalProject_Include_Dependencies(${proj} PROJECT_VAR proj SUPERBUILD_VAR ${EXTENSION_NAME}_SUPERBUILD ) # XXX Workaround https://gitlab.kitware.com/cmake/cmake/issues/15448 # and explicitly pass GIT_EXECUTABLE and Subversion_SVN_EXECUTABLE foreach(varname IN ITEMS GIT_EXECUTABLE Subversion_SVN_EXECUTABLE) if(EXISTS "${${varname}}") list(APPEND DCMQI_EP_CMAKE_CACHE_ARGS -D${varname}:FILEPATH=${${varname}}) endif() endforeach() ExternalProject_Add(${proj} ${${proj}_EP_ARGS} DOWNLOAD_COMMAND "" INSTALL_COMMAND "" SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} BINARY_DIR ${EXTENSION_BUILD_SUBDIRECTORY} BUILD_ALWAYS 1 CMAKE_CACHE_ARGS -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags} -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS:STRING=${ep_common_c_flags} -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DMIDAS_PACKAGE_EMAIL:STRING=${MIDAS_PACKAGE_EMAIL} -DMIDAS_PACKAGE_API_KEY:STRING=${MIDAS_PACKAGE_API_KEY} -D${EXTENSION_NAME}_SUPERBUILD:BOOL=OFF -DEXTENSION_SUPERBUILD_BINARY_DIR:PATH=${${EXTENSION_NAME}_BINARY_DIR} ${DCMQI_EP_CMAKE_CACHE_ARGS} DEPENDS ${${proj}_DEPENDS} ) ExternalProject_AlwaysConfigure(${proj})