diff --git a/CMakeExternals/DCMQI.cmake b/CMakeExternals/DCMQI.cmake index e3ba3813bc..0f3fc0c9d9 100644 --- a/CMakeExternals/DCMQI.cmake +++ b/CMakeExternals/DCMQI.cmake @@ -1,59 +1,59 @@ #----------------------------------------------------------------------------- # 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} - URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/dcmqi_3867f503.tar.gz - URL_MD5 d535f2c74861a6fd96014c23b7fb6554 + URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/dcmqi-1.0.5.tar.gz + URL_MD5 85ac2734f65658e21e55cd5f3141b962 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= -DBUILD_SHARED_LIBS:BOOL=ON -DDCMQI_BUILD_APPS:BOOL=OFF -DDCMTK_DIR:PATH=${DCMTK_DIR} -DITK_DIR:PATH=${ITK_DIR} -DITK_NO_IO_FACTORY_REGISTER_MANAGER:BOOL=ON -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 67bf061e2c..f4f37850ab 100644 --- a/CMakeExternals/DCMQI.patch +++ b/CMakeExternals/DCMQI.patch @@ -1,56 +1,93 @@ diff --git a/CMake/DCMQIConfig.cmake.in b/CMake/DCMQIConfig.cmake.in -index 7cf66b2..c0d7827 +index 7cf66b2..c0d7827 100644 --- a/CMake/DCMQIConfig.cmake.in +++ b/CMake/DCMQIConfig.cmake.in @@ -1,7 +1,6 @@ @PACKAGE_INIT@ set_and_check(DCMTK_DIR "@PACKAGE_DCMTK_DIR_CONFIG@") -set_and_check(SlicerExecutionModel_DIR "@PACKAGE_SlicerExecutionModel_DIR_CONFIG@") set_and_check(DCMQI_CONFIG_DIR "@PACKAGE_CONFIG_DIR_CONFIG@") set_and_check(DCMQI_TARGETS "@PACKAGE_CONFIG_DIR_CONFIG@/DCMQITargets.cmake") diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9c6dcc2..20a90d5 +index f9f215f..5680327 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -279,7 +279,6 @@ if(NOT Slicer_DIR) # For a build tree set(CONFIG_DIR_CONFIG ${CMAKE_BINARY_DIR}) set(DCMTK_DIR_CONFIG ${DCMTK_DIR}) - set(SlicerExecutionModel_DIR_CONFIG ${SlicerExecutionModel_DIR}) set(${PROJECT_NAME}_CONFIG_CODE "####### Expanded from \@DCMQI_CONFIG_CODE\@ #######\n") set(${PROJECT_NAME}_CONFIG_CODE "find_package(DCMTK NO_MODULE REQUIRED)\n") set(${PROJECT_NAME}_CONFIG_CODE "${${PROJECT_NAME}_CONFIG_CODE}##################################################") @@ -291,7 +290,6 @@ if(NOT Slicer_DIR) PATH_VARS CONFIG_DIR_CONFIG DCMTK_DIR_CONFIG - SlicerExecutionModel_DIR_CONFIG NO_CHECK_REQUIRED_COMPONENTS_MACRO ) +@@ -303,33 +301,5 @@ endif() + + if(DEFINED Slicer_DIR) + include(${Slicer_EXTENSION_CPACK}) +-else() +- set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${CMAKE_BINARY_DIR};${PROJECT_NAME};RuntimeLibraries;/") +- set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${DCMTK_DIR};DCMTK;shlib;/") +- set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ITK_DIR};ITK;RuntimeLibraries;/") +- set(CPACK_PACKAGE_NAME "dcmqi") +- set(CPACK_PACKAGE_VENDOR "Quantitative Image Informatics for Cancer Research (QIICR)") +- set(CPACK_PACKAGE_VERSION_MAJOR ${DCMQI_MAJOR_VERSION}) +- set(CPACK_PACKAGE_VERSION_MINOR ${DCMQI_MINOR_VERSION}) +- set(CPACK_PACKAGE_VERSION_PATCH ${DCMQI_PATCH_VERSION}) +- if(CMAKE_SYSTEM_NAME MATCHES "Darwin") +- set(CPACK_SYSTEM_NAME "mac") +- elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") +- set(CPACK_SYSTEM_NAME "linux") +- elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") +- if(CMAKE_SIZEOF_VOID_P EQUAL 8) +- set(CPACK_SYSTEM_NAME win64) +- else() +- set(CPACK_SYSTEM_NAME win32) +- endif() +- endif() +- set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_SYSTEM_NAME}") +- set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_CURRENT_SOURCE_DIR}/README.md) +- set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${EXTENSION_DESCRIPTION}) +- if(UNIX) +- set(CPACK_GENERATOR "TGZ") +- elseif(WIN32) +- set(CPACK_GENERATOR "ZIP") +- endif() + include(CPack) + endif() diff --git a/libsrc/CMakeLists.txt b/libsrc/CMakeLists.txt -index 4d25e05..057326e +index 4d25e05..e10edad 100644 --- a/libsrc/CMakeLists.txt +++ b/libsrc/CMakeLists.txt -@@ -2,6 +2,7 @@ +@@ -1,9 +1,8 @@ + #----------------------------------------------------------------------------- include(FindGit) - include(dcmqiMacroExtractRepositoryInfo) +-include(dcmqiMacroExtractRepositoryInfo) +include(CheckCXXCompilerFlag) - dcmqiMacroExtractRepositoryInfo(VAR_PREFIX dcmqi) +-dcmqiMacroExtractRepositoryInfo(VAR_PREFIX dcmqi) configure_file( -@@ -37,6 +38,11 @@ add_library(${lib_name} STATIC + ${DCMQI_SOURCE_DIR}/CMake/dcmqiVersionConfigure.h.in + ${DCMQI_BINARY_DIR}/include/dcmqi/internal/VersionConfigure.h +@@ -37,6 +36,11 @@ add_library(${lib_name} STATIC ${ADDITIONAL_SRCS} ) +CHECK_CXX_COMPILER_FLAG("-fPIC" CXX_HAS_FPIC) +if(CXX_HAS_FPIC) + target_compile_options(${lib_name} PRIVATE "-fPIC") +endif() + if(DCMQI_LIBRARY_PROPERTIES) set_target_properties(${lib_name} PROPERTIES ${DCMQI_LIBRARY_PROPERTIES}) endif()