summaryrefslogtreecommitdiff
path: root/share/cmake-3.10/Modules/FindDCMTK.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.10/Modules/FindDCMTK.cmake')
-rw-r--r--share/cmake-3.10/Modules/FindDCMTK.cmake328
1 files changed, 0 insertions, 328 deletions
diff --git a/share/cmake-3.10/Modules/FindDCMTK.cmake b/share/cmake-3.10/Modules/FindDCMTK.cmake
deleted file mode 100644
index 0d86e8e..0000000
--- a/share/cmake-3.10/Modules/FindDCMTK.cmake
+++ /dev/null
@@ -1,328 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#.rst:
-# FindDCMTK
-# ---------
-#
-# Find DCMTK libraries and applications
-#
-# The module defines the following variables::
-#
-# 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
-#
-# Compatibility
-# ^^^^^^^^^^^^^
-#
-# This module is able to find a version of DCMTK that does or does not export
-# a *DCMTKConfig.cmake* file. It applies a two step process:
-#
-# * Step 1: Attempt to find DCMTK version providing a *DCMTKConfig.cmake* file.
-# * Step 2: If step 1 failed, rely on *FindDCMTK.cmake* to set `DCMTK_*` variables details below.
-#
-#
-# `Recent DCMTK
-# <http://git.dcmtk.org/web?p=dcmtk.git;a=commit;h=662ae187c493c6b9a73dd5e3875372cebd0c11fe>`_
-# provides a *DCMTKConfig.cmake* :manual:`package configuration file
-# <cmake-packages(7)>`. To exclusively use the package configuration file
-# (recommended when possible), pass the `NO_MODULE` option to
-# :command:`find_package`. For example, `find_package(DCMTK NO_MODULE)`.
-# This requires official DCMTK snapshot *3.6.1_20140617* or newer.
-#
-#
-# Until all clients update to the more recent DCMTK, build systems will need
-# to support different versions of DCMTK.
-#
-# On any given system, the following combinations of DCMTK versions could be
-# considered:
-#
-# +--------+---------------------+-----------------------+-------------------+
-# | | SYSTEM DCMTK | LOCAL DCMTK | Supported ? |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case A | NA | [ ] DCMTKConfig | YES |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case B | NA | [X] DCMTKConfig | YES |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case C | [ ] DCMTKConfig | NA | YES |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case D | [X] DCMTKConfig | NA | YES |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case E | [ ] DCMTKConfig | [ ] DCMTKConfig | YES (*) |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case F | [X] DCMTKConfig | [ ] DCMTKConfig | NO |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case G | [ ] DCMTKConfig | [X] DCMTKConfig | YES |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case H | [X] DCMTKConfig | [X] DCMTKConfig | YES |
-# +--------+---------------------+-----------------------+-------------------+
-#
-# (*) See Troubleshooting section.
-#
-# Legend:
-#
-# NA ...............: Means that no System or Local DCMTK is available
-#
-# [ ] DCMTKConfig ..: Means that the version of DCMTK does NOT export a DCMTKConfig.cmake file.
-#
-# [X] DCMTKConfig ..: Means that the version of DCMTK exports a DCMTKConfig.cmake file.
-#
-#
-# Troubleshooting
-# ^^^^^^^^^^^^^^^
-#
-# What to do if my project finds a different version of DCMTK?
-#
-# Remove DCMTK entry from the CMake cache per :command:`find_package`
-# documentation.
-
-#
-# Written for VXL by Amitha Perera.
-# Upgraded for GDCM by Mathieu Malaterre.
-# Modified for EasyViz by Thomas Sondergaard.
-#
-
-set(_dcmtk_dir_description "The directory of DCMTK build or install tree.")
-
-# Ensure that DCMTK_DIR is set to a reasonable default value
-# so that DCMTK libraries can be found on a standard Unix distribution.
-# It also overwrite the value of DCMTK_DIR after this one has been
-# set by a successful discovery of DCMTK by the unpatched FindDCMTK.cmake module
-# distributed with CMake (as of 0167cea)
-if(NOT DCMTK_DIR OR DCMTK_DIR STREQUAL "/usr/include/dcmtk")
- set(DCMTK_DIR "/usr" CACHE PATH ${_dcmtk_dir_description} FORCE)
-endif()
-
-set(_SAVED_DCMTK_DIR ${DCMTK_DIR})
-
-#
-# Step1: Attempt to find a version of DCMTK providing a DCMTKConfig.cmake file.
-#
-if(NOT DCMTK_FIND_QUIETLY)
- message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake")
-endif()
-find_package(DCMTK QUIET NO_MODULE)
-if(DCMTK_FOUND
- AND NOT "x" STREQUAL "x${DCMTK_LIBRARIES}"
- AND NOT "x" STREQUAL "x${DCMTK_INCLUDE_DIRS}")
-
- if(NOT DCMTK_FIND_QUIETLY)
- message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok")
- endif()
- return()
-else()
- if(NOT DCMTK_FIND_QUIETLY)
- message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - failed")
- endif()
-endif()
-
-if(NOT DCMTK_FIND_QUIETLY)
- message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake")
-endif()
-
-# Restore the value reset by the previous call to 'find_package(DCMTK QUIET NO_MODULE)'
-set(DCMTK_DIR ${_SAVED_DCMTK_DIR} CACHE PATH ${_dcmtk_dir_description} FORCE)
-
-
-#
-# Step2: Attempt to find a version of DCMTK that does NOT provide a DCMTKConfig.cmake file.
-#
-
-# prefer DCMTK_DIR over default system paths like /usr/lib
-if(DCMTK_DIR)
- set(CMAKE_PREFIX_PATH ${DCMTK_DIR}/lib ${CMAKE_PREFIX_PATH}) # this is given to FIND_LIBRARY or FIND_PATH
-endif()
-
-# Find all libraries, store debug and release separately
-foreach(lib
- dcmpstat
- dcmsr
- dcmsign
- dcmtls
- dcmqrdb
- dcmnet
- dcmjpeg
- dcmimage
- dcmimgle
- dcmdata
- 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
- if(DCMTK_${lib}_LIBRARY_RELEASE)
- list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
- endif()
-
- if(DCMTK_${lib}_LIBRARY_DEBUG)
- list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
- endif()
-
-endforeach()
-
-set(CMAKE_THREAD_LIBS_INIT)
-if(DCMTK_oflog_LIBRARY_RELEASE OR DCMTK_oflog_LIBRARY_DEBUG)
- # Hack - Not having a DCMTKConfig.cmake file to read the settings from, we will attempt to
- # find the library in all cases.
- # Ideally, pthread library should be discovered only if DCMTK_WITH_THREADS is enabled.
- set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
- find_package(Threads)
-endif()
-
-if(CMAKE_THREAD_LIBS_INIT)
- list(APPEND DCMTK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-endif()
-
-#
-# SPECIFIC CASE FOR DCMTK BUILD DIR as DCMTK_DIR
-# (as opposed to a DCMTK install dir)
-# Have to find the source directory.
-if(EXISTS ${DCMTK_DIR}/CMakeCache.txt)
- load_cache(${DCMTK_DIR} READ_WITH_PREFIX "EXT"
- DCMTK_SOURCE_DIR)
- if(NOT EXISTS ${EXTDCMTK_SOURCE_DIR})
- message(FATAL_ERROR
- "DCMTK build directory references
-nonexistant DCMTK source directory ${EXTDCMTK_SOURCE_DIR}")
- endif()
-endif()
-
-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_oflog_TEST_HEADER oflog.h)
-set(DCMTK_dcmjpls_TEST_HEADER djlsutil.h)
-
-set(DCMTK_INCLUDE_DIR_NAMES)
-
-foreach(dir
- config
- dcmdata
- dcmimage
- dcmimgle
- dcmjpeg
- dcmjpls
- dcmnet
- dcmpstat
- dcmqrdb
- dcmsign
- dcmsr
- dcmtls
- ofstd
- oflog)
- if(EXTDCMTK_SOURCE_DIR)
- set(SOURCE_DIR_PATH
- ${EXTDCMTK_SOURCE_DIR}/${dir}/include/dcmtk/${dir})
- endif()
- 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}/${dir}/include/dcmtk/${dir}
- ${DCMTK_DIR}/include/${dir}
- ${SOURCE_DIR_PATH}
- )
- mark_as_advanced(DCMTK_${dir}_INCLUDE_DIR)
- list(APPEND DCMTK_INCLUDE_DIR_NAMES 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()
-
-list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_DIR}/include)
-
-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()
-
-# Compatibility: This variable is deprecated
-set(DCMTK_INCLUDE_DIR ${DCMTK_INCLUDE_DIRS})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(DCMTK
- REQUIRED_VARS ${DCMTK_INCLUDE_DIR_NAMES} DCMTK_LIBRARIES
- FAIL_MESSAGE "Please set DCMTK_DIR and re-run configure")
-
-# Workaround bug in packaging of DCMTK 3.6.0 on Debian.
-# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637687
-if(DCMTK_FOUND AND UNIX AND NOT APPLE)
- include(CheckCXXSourceCompiles)
- set(CMAKE_REQUIRED_FLAGS )
- set(CMAKE_REQUIRED_DEFINITIONS )
- set(CMAKE_REQUIRED_INCLUDES ${DCMTK_INCLUDE_DIRS})
- set(CMAKE_REQUIRED_LIBRARIES ${DCMTK_LIBRARIES})
- set(CMAKE_REQUIRED_QUIET ${DCMTK_FIND_QUIETLY})
- check_cxx_source_compiles("#include <dcmtk/config/osconfig.h>\n#include <dcmtk/ofstd/ofstream.h>\nint main(int,char*[]){return 0;}"
- DCMTK_HAVE_CONFIG_H_OPTIONAL
- )
- if(NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
- set(DCMTK_DEFINITIONS "HAVE_CONFIG_H")
- endif()
-endif()
-
-if(NOT DCMTK_FIND_QUIETLY)
- message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake - ok")
-endif()