00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkWin32Header.h,v $ 00005 Language: C++ 00006 Date: $Date: 2002/11/26 19:36:10 $ 00007 Version: $Revision: 1.23 $ 00008 00009 Copyright (c) 2002 Insight Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 Portions of this code are covered under the VTK copyright. 00013 See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details. 00014 00015 This software is distributed WITHOUT ANY WARRANTY; without even 00016 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00017 PURPOSE. See the above copyright notices for more information. 00018 00019 =========================================================================*/ 00020 #ifndef __itkWIN32Header_h 00021 #define __itkWIN32Header_h 00022 00023 // add in the Windows variants 00024 00025 #if defined(__CYGWIN__) 00026 #ifndef WIN32 00027 #define WIN32 1 00028 #endif 00029 #ifndef _WIN32 00030 #define _WIN32 1 00031 #endif 00032 #endif 00033 00035 #if defined(_MSC_VER) 00036 00037 // 'conversion' conversion from 'type1' to 'type2', possible loss of data 00038 #pragma warning ( disable : 4244 ) 00039 00040 // 'identifier' : truncation from 'type1' to 'type2' 00041 #pragma warning ( disable : 4305 ) 00042 00043 // 'conversion' : truncation of constant value 00044 #pragma warning ( disable : 4309 ) 00045 00046 // 'identifier' : identifier was truncated to 'number' characters in the 00047 // debug information 00048 #pragma warning ( disable : 4786 ) 00049 00050 // 'type' : forcing value to bool 'true' or 'false' (performance warning) 00051 #pragma warning ( disable : 4800 ) 00052 00053 // 'identifier' : class 'type' needs to have dll-interface to be used by 00054 // clients of class 'type2' 00055 // #pragma warning ( disable : 4251 ) 00056 00057 // C++ exception specification ignored except to indicate a 00058 // function is not __declspec(nothrow) 00059 #pragma warning ( disable : 4290 ) 00060 00061 00062 // typename keyword in default template arguments is not accepted by 00063 // MSVC. This macro should only be used in such places. 00064 #if !defined(CABLE_CONFIGURATION) 00065 #define ITK_TYPENAME 00066 #else 00067 #define ITK_TYPENAME typename 00068 #endif 00069 #else 00070 #define ITK_TYPENAME typename 00071 #endif 00072 00073 #if defined(_WIN32) || defined(WIN32) 00074 # ifndef ITKSTATIC 00075 # ifdef ITKDLL 00076 # define ITK_EXPORT __declspec( dllexport ) 00077 # else 00078 # define ITK_EXPORT 00079 # endif 00080 # else 00081 # define ITK_EXPORT 00082 # endif // ITKSTATIC 00083 #else 00084 // Now for the UNIX stuff 00085 00086 #define ITK_EXPORT 00087 00088 #endif 00089 00090 #endif