1/*========================================================================= 2 3 Program: GDCM (Grassroots DICOM). A DICOM library 4 5 Copyright (c) 2006-2011 Mathieu Malaterre 6 All rights reserved. 7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 8 9 This software is distributed WITHOUT ANY WARRANTY; without even 10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 11 PURPOSE. See the above copyright notice for more information. 12 13=========================================================================*/ 14#ifndef GDCMCONFIGURE_H 15#define GDCMCONFIGURE_H 16 17/* This header is configured by GDCM's build process. */ 18 19/*--------------------------------------------------------------------------*/ 20/* Platform Features */ 21 22/* Byte order. */ 23/* All compilers that support Mac OS X define either __BIG_ENDIAN__ or 24 __LITTLE_ENDIAN__ to match the endianness of the architecture being 25 compiled for. This is not necessarily the same as the architecture of the 26 machine doing the building. In order to support Universal Binaries on 27 Mac OS X, we prefer those defines to decide the endianness. 28 Elsewhere use the platform check result. */ 29#if !defined(__APPLE__) 30 #cmakedefine GDCM_WORDS_BIGENDIAN 31#elif defined(__BIG_ENDIAN__) 32# define GDCM_WORDS_BIGENDIAN 33#endif 34 35/* Allow access to UINT32_MAX , cf gdcmCommon.h */ 36#define __STDC_LIMIT_MACROS 37 38/* Hard code the path to the public dictionary */ 39#define PUB_DICT_PATH "@GDCM_PUB_DICT_PATH@" 40 41/* Useful in particular for loadshared where the full path 42 * to the lib is needed */ 43#define GDCM_SOURCE_DIR "@GDCM_SOURCE_DIR@" 44#define GDCM_EXECUTABLE_OUTPUT_PATH "@EXECUTABLE_OUTPUT_PATH@" 45#define GDCM_LIBRARY_OUTPUT_PATH "@LIBRARY_OUTPUT_PATH@" 46 47#cmakedefine GDCM_BUILD_TESTING 48 49#cmakedefine GDCM_USE_SYSTEM_ZLIB 50#cmakedefine GDCM_USE_SYSTEM_UUID 51#cmakedefine GDCM_USE_SYSTEM_POPPLER 52#cmakedefine GDCM_USE_SYSTEM_LIBXML2 53#cmakedefine GDCM_USE_SYSTEM_OPENSSL 54#cmakedefine GDCM_USE_SYSTEM_MD5 55#cmakedefine GDCM_USE_SYSTEM_EXPAT 56#cmakedefine GDCM_USE_SYSTEM_JSON 57#cmakedefine GDCM_USE_SYSTEM_LJPEG 58#cmakedefine GDCM_USE_SYSTEM_OPENJPEG 59#cmakedefine GDCM_USE_SYSTEM_CHARLS 60#cmakedefine GDCM_USE_SYSTEM_KAKADU 61#cmakedefine GDCM_USE_SYSTEM_PVRG 62#cmakedefine GDCMV2_0_COMPATIBILITY 63#cmakedefine GDCM_USE_SYSTEM_PAPYRUS3 64 65#ifndef GDCM_USE_SYSTEM_OPENJPEG 66#define OPENJPEG_VERSION_MAJOR 2 67#else 68#define OPENJPEG_VERSION_MAJOR @OPENJPEG_VERSION_MAJOR@ 69#endif //GDCM_USE_SYSTEM_OPENJPEG 70 71#ifndef OPENJPEG_VERSION_MAJOR 72#error problem with openjpeg major version 73#endif // OPENJPEG_VERSION_MAJOR 74 75#cmakedefine GDCM_USE_PVRG 76#cmakedefine GDCM_USE_KAKADU 77#cmakedefine GDCM_USE_JPEGLS 78 79#cmakedefine GDCM_AUTOLOAD_GDCMJNI 80 81/* I guess something important */ 82#cmakedefine GDCM_HAVE_STDINT_H 83#cmakedefine GDCM_HAVE_INTTYPES_H 84 85/* This variable allows you to have helpful debug statement */ 86/* That are in between #ifdef / endif in the gdcm code */ 87/* That means if GDCM_DEBUG is OFF there shouldn't be any 'cout' at all ! */ 88/* only cerr, for instance 'invalid file' will be allowed */ 89#cmakedefine GDCM_DEBUG 90 91#define GDCM_CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" 92#define GDCM_INSTALL_INCLUDE_DIR "@GDCM_INSTALL_INCLUDE_DIR@" 93#define GDCM_INSTALL_DATA_DIR "@GDCM_INSTALL_DATA_DIR@" 94 95/* Whether we are building shared libraries. */ 96#cmakedefine GDCM_BUILD_SHARED_LIBS 97 98/* GDCM uses __FUNCTION__ which is not ANSI C, but C99 */ 99#cmakedefine GDCM_CXX_HAS_FUNCTION 100 101/* Special time structure support */ 102#cmakedefine GDCM_HAVE_SYS_TIME_H 103#cmakedefine GDCM_HAVE_WINSOCK_H 104#cmakedefine GDCM_HAVE_BYTESWAP_H 105#cmakedefine GDCM_HAVE_RPC_H 106// CMS with PBE (added in OpenSSL 1.0.0 ~ Fri Nov 27 15:33:25 CET 2009) 107#cmakedefine GDCM_HAVE_CMS_RECIPIENT_PASSWORD 108#cmakedefine GDCM_HAVE_LANGINFO_H 109#cmakedefine GDCM_HAVE_NL_LANGINFO 110 111#cmakedefine GDCM_HAVE_STRCASECMP 112#cmakedefine GDCM_HAVE_STRNCASECMP 113#cmakedefine GDCM_HAVE_STRPTIME 114#cmakedefine GDCM_HAVE__STRICMP 115#cmakedefine GDCM_HAVE__STRNICMP 116#cmakedefine GDCM_HAVE_LROUND 117#cmakedefine GDCM_HAVE_GETTIMEOFDAY 118#cmakedefine GDCM_HAVE_ATOLL 119#cmakedefine GDCM_HAVE_JSON_OBJECT_OBJECT_GET_EX 120 121// MM: I have a feeling that if GDCM_HAVE_WCHAR_IFSTREAM, then UNICODE filename 122// are expected to be specified as UTF-16, but if no API exist for UTF-16 123// at std::ifstream level, then const char* of std::ifstream might accept 124// UTF-8 125#cmakedefine GDCM_HAVE_WCHAR_IFSTREAM 126 127#cmakedefine GDCM_FORCE_BIGENDIAN_EMULATION 128 129#ifndef GDCM_OVERRIDE_BROKEN_IMPLEMENTATION 130/* To Remove code that support broken DICOM implementation and therefore 131 * add some over head. Turn Off at your own risk 132 */ 133#cmakedefine GDCM_SUPPORT_BROKEN_IMPLEMENTATION 134#endif 135#ifndef gdcm_ns 136#define gdcm_ns gdcm 137#endif 138 139#define GDCM_PVRG_JPEG_EXECUTABLE "@PVRGJPEG_EXECUTABLE@" 140#define GDCM_KAKADU_EXPAND_EXECUTABLE "@KDU_EXPAND_EXECUTABLE@" 141 142/*--------------------------------------------------------------------------*/ 143/* GDCM Versioning */ 144 145/* Version number. */ 146#define GDCM_MAJOR_VERSION @GDCM_MAJOR_VERSION@ 147#define GDCM_MINOR_VERSION @GDCM_MINOR_VERSION@ 148#define GDCM_BUILD_VERSION @GDCM_BUILD_VERSION@ 149#define GDCM_VERSION "@GDCM_VERSION@" 150#define GDCM_API_VERSION "@GDCM_API_VERSION@" 151 152/* 153#define GDCM_FILE_META_INFORMATION_VERSION "\0\1" 154// echo "gdcm" | od -b 155#define GDCM_IMPLEMENTATION_CLASS_UID "107.104.103.115"; 156#define GDCM_IMPLEMENTATION_VERSION_NAME "GDCM " GDCM_VERSION 157#define GDCM_SOURCE_APPLICATION_ENTITY_TITLE "GDCM" 158*/ 159 160 161/*--------------------------------------------------------------------------*/ 162/* GDCM deprecation mechanism */ 163#cmakedefine GDCM_LEGACY_REMOVE 164#cmakedefine GDCM_LEGACY_SILENT 165 166#cmakedefine GDCM_ALWAYS_TRACE_MACRO 167 168/* ITK Specific */ 169#cmakedefine GDCM_USE_COREFOUNDATION_LIBRARY 170 171#endif 172