diff --git a/CMakeExternals/DCMQI.cmake b/CMakeExternals/DCMQI.cmake index 930d5dd01c..d91760dd34 100644 --- a/CMakeExternals/DCMQI.cmake +++ b/CMakeExternals/DCMQI.cmake @@ -1,57 +1,57 @@ #----------------------------------------------------------------------------- # DCMQI #----------------------------------------------------------------------------- if(MITK_USE_DCMQI) # Sanity checks if(DEFINED DCMQI_DIR AND NOT EXISTS ${DCMQI_DIR}) message(FATAL_ERROR "DCMQI_DIR variable is defined but corresponds to non-existing directory") endif() set(proj DCMQI) set(proj_DEPENDENCIES DCMTK ITK) set(DCMQI_DEPENDS ${proj}) if(NOT DEFINED DCMQI_DIR) set(additional_cmake_args) if(CTEST_USE_LAUNCHERS) list(APPEND additional_cmake_args "-DCMAKE_PROJECT_${proj}_INCLUDE:FILEPATH=${CMAKE_ROOT}/Modules/CTestUseLaunchers.cmake" ) endif() ExternalProject_Add(${proj} LIST_SEPARATOR ${sep} #TODO MITK-Data URL https://dl.dropbox.com/s/1rye5oewqxx4zn5/dcmqi-src-org.tar.gz - URL_MD5 d56a6a11a84a753c7498be5dce8f7a34 + URL_MD5 f8333c11efdc84fc2a54bf9c276c103c PATCH_COMMAND ${PATCH_COMMAND} -N -p1 -i ${CMAKE_CURRENT_LIST_DIR}/DCMQI.patch UPDATE_COMMAND "" INSTALL_COMMAND "" CMAKE_GENERATOR ${gen} CMAKE_ARGS ${ep_common_args} ${additional_cmake_args} #-DCMAKE_INSTALL_PREFIX:PATH= - -DDCMQI_SUPERBUILD:BOOL=OFF -DDCMTK_DIR:PATH=${DCMTK_DIR} -DITK_DIR:PATH=${ITK_DIR} + -DDCMQI_SUPERBUILD:BOOL=OFF CMAKE_CACHE_ARGS ${ep_common_cache_args} CMAKE_CACHE_DEFAULT_ARGS ${ep_common_cache_default_args} DEPENDS ${proj_DEPENDENCIES} ) ExternalProject_Get_Property(${proj} binary_dir) set(DCMQI_DIR ${binary_dir}) #set(${proj}_DIR ${ep_prefix}) #message(${proj}_DIR: ${${proj}_DIR}) #mitkFunctionInstallExternalCMakeProject(${proj}) else() mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}") endif() endif() diff --git a/CMakeExternals/DCMQI.patch b/CMakeExternals/DCMQI.patch index 8369efdf68..fe7ead450b 100644 --- a/CMakeExternals/DCMQI.patch +++ b/CMakeExternals/DCMQI.patch @@ -1,63 +1,95 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 845863f..857d83a 100644 +old mode 100644 +new mode 100755 +index 845863f..e23cb9e --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -206,17 +206,6 @@ foreach(file +@@ -158,6 +158,7 @@ set(ADDITIONAL_C_FLAGS "" CACHE STRING "Additional C Flags") + mark_as_advanced(ADDITIONAL_C_FLAGS) + mark_as_superbuild(ADDITIONAL_C_FLAGS) + ++set(CMAKE_CXX_FLAGS "-fPIC") + set(ADDITIONAL_CXX_FLAGS "" CACHE STRING "Additional CXX Flags") + mark_as_advanced(ADDITIONAL_CXX_FLAGS) + mark_as_superbuild(ADDITIONAL_CXX_FLAGS) +@@ -206,17 +207,6 @@ foreach(file install(FILES ${file} DESTINATION ${DCMQI_INSTALL_CMAKE_DIR} COMPONENT Development) endforeach() -#----------------------------------------------------------------------------- -# DCMQI dependencies - Projects should be TOPOLOGICALLY ordered -#----------------------------------------------------------------------------- -set(DCMQI_DEPENDENCIES - zlib - DCMTK - ITK - SlicerExecutionModel - ) - -include(CMake/ctkBlockCheckDependencies.cmake) #----------------------------------------------------------------------------- -@@ -229,11 +218,26 @@ if(DCMQI_SUPERBUILD) +@@ -229,11 +219,26 @@ if(DCMQI_SUPERBUILD) endif() find_package(DCMTK NO_MODULE REQUIRED) -find_package(SlicerExecutionModel NO_MODULE REQUIRED GenerateCLP) +find_package(SlicerExecutionModel QUIET NO_MODULE) find_package(ITK NO_MODULE REQUIRED) include(${ITK_USE_FILE}) -include(${SlicerExecutionModel_USE_FILE}) +#----------------------------------------------------------------------------- +# DCMQI dependencies - Projects should be TOPOLOGICALLY ordered +#----------------------------------------------------------------------------- +set(DCMQI_DEPENDENCIES + zlib + DCMTK + ITK + ) + +if(SlicerExecutionModel_FOUND) + list(APPEND DCMQI_DEPENDENCIES SlicerExecutionModel) + include(${SlicerExecutionModel_USE_FILE}) + find_package(SlicerExecutionModel NO_MODULE REQUIRED GenerateCLP) +endif() + +include(CMake/ctkBlockCheckDependencies.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/FindGit.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/dcmqiMacroExtractRepositoryInfo.cmake) -@@ -255,7 +259,8 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp) +@@ -255,7 +260,8 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp) set(JSONCPP_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/jsoncpp.cpp) add_subdirectory("libsrc") - -add_subdirectory("apps") - add_subdirectory("doc") + +if(SlicerExecutionModel_FOUND) + add_subdirectory("apps") +endif() +diff --git a/jsoncpp/jsoncpp.cpp b/jsoncpp/jsoncpp.cpp +index dd2a1e3..d18ca40 100644 +--- a/jsoncpp/jsoncpp.cpp ++++ b/jsoncpp/jsoncpp.cpp +@@ -231,7 +231,7 @@ static int stackDepth_g = 0; // see readValue() + namespace Json { + + #if __GNUC__ >= 6 +-typedef std::scoped_ptr const CharReaderPtr; ++typedef std::unique_ptr const CharReaderPtr; + #else + typedef std::auto_ptr CharReaderPtr; + #endif +@@ -3800,7 +3800,7 @@ Value& Path::make(Value& root) const { + namespace Json { + + #if __GNUC__ >= 6 +-typedef std::scoped_ptr const StreamWriterPtr; ++typedef std::unique_ptr const StreamWriterPtr; + #else + typedef std::auto_ptr StreamWriterPtr; + #endif