00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkWin32Header.h,v $ 00005 Language: C++ 00006 Date: $Date: 2002/05/07 02:12:26 $ 00007 Version: $Revision: 1.20 $ 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 // typename keyword in default template arguments is not accepted by 00058 // MSVC. This macro should only be used in such places. 00059 #if !defined(CABLE_CONFIGURATION) 00060 #define ITK_TYPENAME 00061 #else 00062 #define ITK_TYPENAME typename 00063 #endif 00064 #else 00065 #define ITK_TYPENAME typename 00066 #endif 00067 00068 #if defined(_WIN32) || defined(WIN32) 00069 # ifndef ITKSTATIC 00070 # ifdef ITKDLL 00071 # define ITK_EXPORT __declspec( dllexport ) 00072 # else 00073 # define ITK_EXPORT 00074 # endif 00075 # else 00076 # define ITK_EXPORT 00077 # endif // ITKSTATIC 00078 #else 00079 // Now for the UNIX stuff 00080 00081 #define ITK_EXPORT 00082 00083 #endif 00084 00085 #endif