Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F25194
ep.patch
weihs (Tobias Weihs)
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
weihs
Nov 18 2016, 3:06 PM
2016-11-18 15:06:44 (UTC+1)
Size
13 KB
Referenced Files
None
Subscribers
None
ep.patch
View Options
diff --git a/CMake/FindDCMTK.cmake b/CMake/FindDCMTK.cmake
deleted file mode 100644
index ccdd2ce..0000000
--- a/CMake/FindDCMTK.cmake
+++ /dev/null
@@ -1,186 +0,0 @@
-# adapted version of FindDCMTK, better suited for super-builds
-
-# - find DCMTK libraries and applications
-#
-
-# DCMTK_INCLUDE_DIRS - Directories to include to use DCMTK
-# DCMTK_LIBRARIES - Files to link against to use DCMTK
-# DCMTK_FOUND - If false, don't try to use DCMTK
-# DCMTK_DIR - (optional) Source directory for DCMTK
-#
-# DCMTK_DIR can be used to make it simpler to find the various include
-# directories and compiled libraries if you've just compiled it in the
-# source tree. Just set it to the root of the tree where you extracted
-# the source (default to /usr/include/dcmtk/)
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2009-2010 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-# Copyright 2010 Thomas Sondergaard <ts@medical-insight.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distributed this file outside of CMake, substitute the full
-# License text for the above reference.)
-
-#
-# Written for VXL by Amitha Perera.
-# Upgraded for GDCM by Mathieu Malaterre.
-# Modified for EasyViz by Thomas Sondergaard.
-#
-
-# prefer DCMTK_DIR over default system paths like /usr/lib
-set(CMAKE_PREFIX_PATH ${DCMTK_DIR}/lib ${CMAKE_PREFIX_PATH}) # this is given to FIND_LIBRARY or FIND_PATH
-
-if(NOT DCMTK_FOUND AND NOT DCMTK_DIR)
- set(DCMTK_DIR
- "/usr/include/dcmtk/"
- CACHE
- PATH
- "Root of DCMTK source tree (optional).")
- mark_as_advanced(DCMTK_DIR)
-endif()
-
-# Find all libraries, store debug and release separately
-foreach(lib
- dcmpstat
- dcmsr
- dcmsign
- dcmtls
- dcmqrdb
- dcmnet
- dcmjpeg
- dcmimage
- dcmimgle
- dcmdata
- dcmrt
- oflog
- ofstd
- ijg12
- ijg16
- ijg8
- )
-
- # Find Release libraries
- find_library(DCMTK_${lib}_LIBRARY_RELEASE
- ${lib}
- PATHS
- ${DCMTK_DIR}/${lib}/libsrc
- ${DCMTK_DIR}/${lib}/libsrc/Release
- ${DCMTK_DIR}/${lib}/Release
- ${DCMTK_DIR}/lib
- ${DCMTK_DIR}/lib/Release
- ${DCMTK_DIR}/dcmjpeg/lib${lib}/Release
- NO_DEFAULT_PATH
- )
-
- # Find Debug libraries
- find_library(DCMTK_${lib}_LIBRARY_DEBUG
- ${lib}${DCMTK_CMAKE_DEBUG_POSTFIX}
- PATHS
- ${DCMTK_DIR}/${lib}/libsrc
- ${DCMTK_DIR}/${lib}/libsrc/Debug
- ${DCMTK_DIR}/${lib}/Debug
- ${DCMTK_DIR}/lib
- ${DCMTK_DIR}/lib/Debug
- ${DCMTK_DIR}/dcmjpeg/lib${lib}/Debug
- NO_DEFAULT_PATH
- )
-
- mark_as_advanced(DCMTK_${lib}_LIBRARY_RELEASE)
- mark_as_advanced(DCMTK_${lib}_LIBRARY_DEBUG)
-
- # Add libraries to variable according to build type
- set(DCMTK_${lib}_LIBRARY)
- if(DCMTK_${lib}_LIBRARY_RELEASE)
- list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
- list(APPEND DCMTK_${lib}_LIBRARY optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
- endif()
-
- if(DCMTK_${lib}_LIBRARY_DEBUG)
- list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
- list(APPEND DCMTK_${lib}_LIBRARY debug ${DCMTK_${lib}_LIBRARY_DEBUG})
- endif()
-
-endforeach()
-
-set(DCMTK_config_TEST_HEADER osconfig.h)
-set(DCMTK_dcmdata_TEST_HEADER dctypes.h)
-set(DCMTK_dcmimage_TEST_HEADER dicoimg.h)
-set(DCMTK_dcmimgle_TEST_HEADER dcmimage.h)
-set(DCMTK_dcmjpeg_TEST_HEADER djdecode.h)
-set(DCMTK_dcmnet_TEST_HEADER assoc.h)
-set(DCMTK_dcmpstat_TEST_HEADER dcmpstat.h)
-set(DCMTK_dcmqrdb_TEST_HEADER dcmqrdba.h)
-set(DCMTK_dcmsign_TEST_HEADER sicert.h)
-set(DCMTK_dcmsr_TEST_HEADER dsrtree.h)
-set(DCMTK_dcmtls_TEST_HEADER tlslayer.h)
-set(DCMTK_ofstd_TEST_HEADER ofstdinc.h)
-set(DCMTK_dcmrt_TEST_HEADER drtstrct.h)
-
-foreach(dir
- config
- dcmdata
- dcmimage
- dcmimgle
- dcmjpeg
- dcmnet
- dcmpstat
- dcmqrdb
- dcmsign
- dcmsr
- dcmtls
- dcmrt
- ofstd)
- find_path(DCMTK_${dir}_INCLUDE_DIR
- ${DCMTK_${dir}_TEST_HEADER}
- PATHS
- ${DCMTK_DIR}/${dir}/include
- ${DCMTK_DIR}/${dir}
- ${DCMTK_DIR}/include/dcmtk/${dir}
- ${DCMTK_DIR}/include/${dir})
-
- mark_as_advanced(DCMTK_${dir}_INCLUDE_DIR)
- #message("** DCMTKs ${dir} found at ${DCMTK_${dir}_INCLUDE_DIR}")
-
- if(DCMTK_${dir}_INCLUDE_DIR)
- # add the 'include' path so eg
- #include "dcmtk/dcmimgle/dcmimage.h"
- # works
- get_filename_component(_include ${DCMTK_${dir}_INCLUDE_DIR} PATH)
- get_filename_component(_include ${_include} PATH)
- list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_${dir}_INCLUDE_DIR} ${_include})
- endif()
-endforeach()
-
-if(WIN32)
- list(APPEND DCMTK_LIBRARIES netapi32 wsock32)
-endif()
-
-if(DCMTK_ofstd_INCLUDE_DIR)
- get_filename_component(DCMTK_dcmtk_INCLUDE_DIR
- ${DCMTK_ofstd_INCLUDE_DIR}
- PATH
- CACHE)
- list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_dcmtk_INCLUDE_DIR})
- mark_as_advanced(DCMTK_dcmtk_INCLUDE_DIR)
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(DCMTK DEFAULT_MSG
- DCMTK_config_INCLUDE_DIR
- DCMTK_ofstd_INCLUDE_DIR
- DCMTK_ofstd_LIBRARY
- DCMTK_dcmdata_INCLUDE_DIR
- DCMTK_dcmdata_LIBRARY
- DCMTK_dcmimgle_INCLUDE_DIR
- DCMTK_dcmimgle_LIBRARY
- )
-
-# Compatibility: This variable is deprecated
-set(DCMTK_INCLUDE_DIR ${DCMTK_INCLUDE_DIRS})
diff --git a/CMake/FindEigen.cmake b/CMake/FindEigen.cmake
index 2ec4304..d8fa482 100644
--- a/CMake/FindEigen.cmake
+++ b/CMake/FindEigen.cmake
@@ -1,9 +1,13 @@
find_path(Eigen_INCLUDE_DIR
NAMES Eigen/Eigen
- PATHS ${Eigen_DIR} ${MITK_EXTERNAL_PROJECT_PREFIX} ${CMAKE_PREFIX_PATH}
+ PATHS ${Eigen_FIX_DIR} ${Eigen_DIR} ${MITK_EXTERNAL_PROJECT_PREFIX} ${CMAKE_PREFIX_PATH}
PATH_SUFFIXES include include/eigen3
)
+if(NOT Eigen_DIR)
+ set(Eigen_DIR ${Eigen_FIX_DIR})
+endif()
+
if (NOT TARGET Eigen)
add_library(Eigen INTERFACE IMPORTED GLOBAL)
set_property(TARGET Eigen APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Eigen_INCLUDE_DIR})
diff --git a/CMake/PackageDepends/MITK_DCMTK_Config.cmake b/CMake/PackageDepends/MITK_DCMTK_Config.cmake
index 7be335f..21f0dac 100644
--- a/CMake/PackageDepends/MITK_DCMTK_Config.cmake
+++ b/CMake/PackageDepends/MITK_DCMTK_Config.cmake
@@ -4,30 +4,6 @@ endif( NOT WIN32 AND NOT APPLE )
set(QT_USE_QTSQL 1)
-if(EXISTS ${DCMTK_config_INCLUDE_DIR}/osconfig.h)
-
- file(READ ${DCMTK_config_INCLUDE_DIR}/osconfig.h _osconfig_h)
- if(NOT _osconfig_h MATCHES "PACKAGE_VERSION_NUMBER \"354\"")
- # message(STATUS "Found DCMTK newer that 3.5.4 ...")
- set(MITK_USE_DCMTK_NEWER_THAN_3_5_4 TRUE)
- # assume the new oflog library is located next to the others
- # this can be removed if FindDCMTK is adapted for 3.5.5
- # treat Debug and Release separately
- get_filename_component(_DCMTK_lib_dir_release ${DCMTK_ofstd_LIBRARY_RELEASE} PATH)
- get_filename_component(_DCMTK_lib_dir_debug ${DCMTK_ofstd_LIBRARY_DEBUG} PATH)
- set(DCMTK_oflog_LIBRARY_RELEASE )
- set(DCMTK_oflog_LIBRARY_DEBUG )
- if(_DCMTK_lib_dir_release)
- find_library(DCMTK_oflog_LIBRARY_RELEASE oflog ${_DCMTK_lib_dir_release} )
- list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_oflog_LIBRARY_RELEASE} )
- endif()
- if(_DCMTK_lib_dir_debug)
- find_library(DCMTK_oflog_LIBRARY_DEBUG oflog ${_DCMTK_lib_dir_debug} )
- list(APPEND DCMTK_LIBRARIES debug ${DCMTK_oflog_LIBRARY_DEBUG} )
- endif()
- endif()
-endif()
-
#
# Usually all code should be adapted to DCMTK 3.6
# If necessary you could configure the MITK_USE_DCMTK_NEWER_THAN_3_5_4 variable
diff --git a/CMakeExternals/Eigen.cmake b/CMakeExternals/Eigen.cmake
index 00e0284..a07ecf2 100644
--- a/CMakeExternals/Eigen.cmake
+++ b/CMakeExternals/Eigen.cmake
@@ -39,6 +39,8 @@ if(MITK_USE_Eigen)
mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
+ find_package(Eigen)
+
endif()
endif()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5539396..194301a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -832,9 +832,6 @@ set(Boost_USE_STATIC_LIBS 0)
set(Boost_USE_STATIC_RUNTIME 0)
set(Boost_ADDITIONAL_VERSIONS "1.59" "1.59.0")
-# We need this later for a DCMTK workaround
-set(_dcmtk_dir_orig ${DCMTK_DIR})
-
# This property is populated at the top half of this file
get_property(MITK_EXTERNAL_PROJECTS GLOBAL PROPERTY MITK_EXTERNAL_PROJECTS)
foreach(ep ${MITK_EXTERNAL_PROJECTS})
@@ -865,17 +862,7 @@ set(CMAKE_MODULE_PATH
)
if(MITK_USE_DCMTK)
- # Due to the preferred CONFIG mode in find_package calls above,
- # the DCMTKConfig.cmake file is read, which does not provide useful
- # package information. We explictly need MODULE mode to find DCMTK.
- if(${_dcmtk_dir_orig} MATCHES "${MITK_EXTERNAL_PROJECT_PREFIX}.*")
- # Help our FindDCMTK.cmake script find our super-build DCMTK
- set(DCMTK_DIR ${MITK_EXTERNAL_PROJECT_PREFIX})
- else()
- # Use the original value
- set(DCMTK_DIR ${_dcmtk_dir_orig})
- endif()
- find_package(DCMTK REQUIRED MODULE)
+ find_package(DCMTK REQUIRED)
endif()
if(MITK_USE_Python)
@@ -1336,6 +1323,10 @@ get_property(MITK_ADDITIONAL_LIBRARY_SEARCH_PATHS_CONFIG GLOBAL PROPERTY MITK_AD
set(MITK_CONFIG_EXTERNAL_PROJECTS )
#string(REPLACE "^^" ";" _mitk_external_projects ${MITK_EXTERNAL_PROJECTS})
+if(MITK_USE_Boost)
+ set(Boost_DIR ${BOOST_ROOT})
+endif()
+
foreach(ep ${MITK_EXTERNAL_PROJECTS})
get_property(_components GLOBAL PROPERTY MITK_${ep}_COMPONENTS)
set(MITK_CONFIG_EXTERNAL_PROJECTS "${MITK_CONFIG_EXTERNAL_PROJECTS}
diff --git a/MITKConfig.cmake.in b/MITKConfig.cmake.in
index 8e1cb55..a493156 100644
--- a/MITKConfig.cmake.in
+++ b/MITKConfig.cmake.in
@@ -161,8 +161,8 @@ if(MITK_USE_Boost)
set(Boost_ADDITIONAL_VERSIONS "1.59" "1.59.0")
endif()
-# We need this later for a DCMTK workaround
-set(_dcmtk_dir_orig "@DCMTK_DIR@")
+# We need this because Eigen_DIR gets destroyed somewhere in the build system
+set(Eigen_FIX_DIR "@Eigen_FIX_DIR@")
# -----------------------------------------
# External dependencies from the superbuild
@@ -178,17 +178,7 @@ set(CMAKE_MODULE_PATH ${MITK_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH})
# Special handling for DCMTK
if(MITK_USE_DCMTK)
- # Due to the preferred CONFIG mode in find_package calls above,
- # the DCMTKConfig.cmake file is read, which does not provide useful
- # package information. We explictly need MODULE mode to find DCMTK.
- if(${_dcmtk_dir_orig} MATCHES "${MITK_EXTERNAL_PROJECT_PREFIX}.*")
- # Help our FindDCMTK.cmake script find our super-build DCMTK
- set(DCMTK_DIR ${MITK_EXTERNAL_PROJECT_PREFIX})
- else()
- # Use the original value
- set(DCMTK_DIR ${_dcmtk_dir_orig})
- endif()
- find_package(DCMTK REQUIRED MODULE)
+ find_package(DCMTK REQUIRED)
endif()
# -----------------------------------------
diff --git a/Modules/DICOMReader/include/mitkITKDICOMSeriesReaderHelper.txx b/Modules/DICOMReader/include/mitkITKDICOMSeriesReaderHelper.txx
index 071f899..b872c73 100644
--- a/Modules/DICOMReader/include/mitkITKDICOMSeriesReaderHelper.txx
+++ b/Modules/DICOMReader/include/mitkITKDICOMSeriesReaderHelper.txx
@@ -21,7 +21,7 @@ See LICENSE.txt or http://www.mitk.org for details.
//#include <itkLinearInterpolateImageFunction.h>
//#include <itkTimeProbesCollectorBase.h>
-#include <ofdatime.h>
+#include <dcmtk/ofstd/ofdatime.h>
template <typename PixelType>
mitk::Image::Pointer
diff --git a/Modules/DICOMReader/src/mitkDICOMSortByTag.cpp b/Modules/DICOMReader/src/mitkDICOMSortByTag.cpp
index b2cb0e4..c7d6f3a 100644
--- a/Modules/DICOMReader/src/mitkDICOMSortByTag.cpp
+++ b/Modules/DICOMReader/src/mitkDICOMSortByTag.cpp
@@ -16,7 +16,7 @@ See LICENSE.txt or http://www.mitk.org for details.
#include "mitkDICOMSortByTag.h"
-#include "ofstd.h"
+#include "dcmtk/ofstd/ofstd.h"
mitk::DICOMSortByTag
::DICOMSortByTag(const DICOMTag& tag, DICOMSortCriterion::Pointer secondaryCriterion)
diff --git a/Modules/DICOMReader/src/mitkDICOMTag.cpp b/Modules/DICOMReader/src/mitkDICOMTag.cpp
index f3a0452..24b054b 100644
--- a/Modules/DICOMReader/src/mitkDICOMTag.cpp
+++ b/Modules/DICOMReader/src/mitkDICOMTag.cpp
@@ -25,7 +25,7 @@ See LICENSE.txt or http://www.mitk.org for details.
#include <boost/algorithm/string.hpp>
#include "mitkLogMacros.h"
-#include "ofstd.h"
+#include "dcmtk/ofstd/ofstd.h"
mitk::DICOMTag
::DICOMTag(unsigned int group, unsigned int element)
diff --git a/Modules/DICOMReader/src/mitkITKDICOMSeriesReaderHelper.cpp b/Modules/DICOMReader/src/mitkITKDICOMSeriesReaderHelper.cpp
index f8c2308..7c68179 100644
--- a/Modules/DICOMReader/src/mitkITKDICOMSeriesReaderHelper.cpp
+++ b/Modules/DICOMReader/src/mitkITKDICOMSeriesReaderHelper.cpp
@@ -16,7 +16,7 @@ See LICENSE.txt or http://www.mitk.org for details.
//#define MBILOG_ENABLE_DEBUG
-#include <dcvrdt.h>
+#include <dcmtk/dcmdata/dcvrdt.h>
#define BOOST_DATE_TIME_NO_LIB
@@ -28,7 +28,7 @@ See LICENSE.txt or http://www.mitk.org for details.
#include "mitkDICOMGDCMTagScanner.h"
#include "mitkArbitraryTimeGeometry.h"
-#include "dcvrda.h"
+#include "dcmtk/dcmdata/dcvrda.h"
const mitk::DICOMTag mitk::ITKDICOMSeriesReaderHelper::AcquisitionDateTag = mitk::DICOMTag( 0x0008, 0x0022 );
diff --git a/SuperBuild.cmake b/SuperBuild.cmake
index 8c2287c..ce954d2 100644
--- a/SuperBuild.cmake
+++ b/SuperBuild.cmake
@@ -405,6 +405,7 @@ ExternalProject_Add(${proj}
-DDCMTK_CMAKE_DEBUG_POSTFIX:STRING=${DCMTK_CMAKE_DEBUG_POSTFIX}
-DBOOST_ROOT:PATH=${BOOST_ROOT}
-DBOOST_LIBRARYDIR:PATH=${BOOST_LIBRARYDIR}
+ -DEigen_FIX_DIR:PATH=${Eigen_DIR}
-DMITK_Breakpad_SRC:PATH=${Breakpad_SRC}
-DMITK_Breakpad_DIR:PATH=${Breakpad_DIR}
-DMITK_USE_Boost_LIBRARIES:STRING=${MITK_USE_Boost_LIBRARIES}
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13505
Default Alt Text
ep.patch (13 KB)
Attached To
Mode
T19442: Use different variable to work around DCMTK config mode problems
Attached
Detach File
Event Timeline
Log In to Comment