D:/WorkDir/SugoiProjects/SugoiTools/include/SugoiTools/config.h

00001 /* LICENSE_BEGIN
00002 SutoiTools library supply support for debugging, testing and 
00003 setting good bases for you application. It is part of the 
00004 SugoiEngine project.
00005 Copyright (C) 2006 Allusse Yannick (yannick dot allusse at laposte dot net)
00006 
00007 
00008 This program is free software; you can redistribute it and/or
00009 modify it under the terms of the GNU General Public License
00010 as published by the Free Software Foundation; either version 2
00011 of the License, or (at your option) any later version.
00012 
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016 GNU General Public License for more details.
00017 
00018 You should have received a copy of the GNU General Public License
00019 along with this program; if not, write to the Free Software
00020 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00021 LICENSE_END
00022 */
00023 
00024 /* \file SG_TLS_config.h
00025  * \brief Set all the macros and defines for SugoiTools library.
00026  * \author Yannick Allusse
00027 */
00028 #ifndef _SG_TLS_CONFIG_H
00029 #define _SG_TLS_CONFIG_H
00030 
00031           //==========================================================
00032     // Importing / Exporting settings
00033     //==========================================================
00034           //#define _CPP
00035           //Compatibility with some MS VS 2003 project where command __cplusplus is restricted...
00036           #ifdef _CPP
00037                     #ifndef __cplusplus
00038                               #define __cplusplus 1
00039                     #endif
00040           #else
00041           #endif
00042 
00043           #ifdef _SG_TLS
00044     #   define _SG_TLS_EXPORT __declspec(dllexport)
00045     #else
00046     #   define _SG_TLS_EXPORT __declspec(dllimport)
00047                     #ifdef  NDEBUG
00048                               #pragma comment(lib ,"SugoiTools.lib")
00049                     #else
00050                               #pragma comment(lib ,"SugoiToolsd.lib")
00051                     #endif
00052     #endif
00053           //==========================================================
00054 
00055           //==========================================================
00056           //Inline optimisation
00057           //==========================================================
00058           #define _SG_TLS_INLINE inline
00059 
00060           //==========================================================
00061     // Desable warnings on MS Visual Studio
00062     //==========================================================
00063     #ifdef _MSC_VER
00064     #   pragma warning(disable : 4251)// "T1 nécessite une interface DLL pour être utilisé(e) par les clients de class T2" 
00065           #         pragma warning(disable : 4996) //some C++ functions were declared deprecated, show only once by function.     
00066     #endif
00067           //===========================================================
00068 
00069 
00070 #ifdef _SG_TLS_NOT_USE_XML
00071           #define _SG_TLS_XML                     0
00072 #else
00073           #define _SG_TLS_XML                     1
00074 #endif
00075 
00076 #define _SG_TLS_XML_STL                 0         
00077 #define _SG_TLS_NX_VECTOR     0         
00078 #define _SG_TLS_BENCHMARK     1         
00079 #define _SG_TLS_SMARTPTR      1         
00080 #define _SG_TLS_FILE_TEST     1
00081 #define _SG_TLS_LOGGER                  1
00082 #define _SG_TLS_MEMORY_MANAGER 0
00083 
00084 
00085 #define _SG_DEBUG_XML(FCT) //{FCT;}
00086 #define _SG_DEBUG_MNGR(FCT) //{FCT;}
00087 
00088 
00089 #define   _SGE_BREAK_CODE_ON_EXCEPTION  1 
00090 
00091 //to send compiler time msg : #pragma message("Warning, this function is beta")
00092 
00093 #ifdef __cplusplus
00094                     
00095           //#include <stdio.h>
00096           #include <stdlib.h>
00097           #include <iostream>
00098           #include <iomanip>
00099           #include <sstream>
00100 #if SG_TLS_SUPPORT_NX_VECTOR
00101           #include <NX/nxvec3.h>
00102 #endif
00103           #include <windows.h>
00104           #include <string>
00105           #include <vector>
00106           
00107           using namespace std;
00108           namespace SGE{
00109           //...
00110           //definition of main type, so we don't need to include all .h files, it save compilation time.
00111           //from SG_TLS_cl_template_manager.h
00112           template <class T , typename P> class  CL_TEMPLATE_OBJECT_MANAGER;
00113 
00114           //from SG_TLS_cl_base_obj.h
00115           template <typename IDType>class CL_BASE_OBJ;
00116           class CL_BASE_OBJ_FILE;
00117 
00118           //from SG_TLS_SG_TLS_cl_pos.h
00119           template <class VectorType> class  CLT_POS;
00120 
00121           //from vectors.h
00122 
00123 
00124           //from file.h
00125           class CFile;
00126 
00127           //from exceptions.h
00128           class CException;
00129           struct CAssertException;
00130           struct CBadDelete;
00131           struct CLoadingFailed;
00132           struct COutOfMemory;
00133 
00134           //from logger.h
00135           class ILogger;
00136           class CLoggerFile;
00137           class CLoggerDebug;
00138           class CLoggerMsgBox;
00139           class CLoggerMain;
00140           };//namespace SGE
00141           //============================================================================================
00142           
00143 #else
00144 
00145 #endif//__cplusplus
00146 
00147 #define SQUARRE(val) (val*val)
00148 
00149 #endif // _SG_TLS_CONFIG_H

Generated on Mon Mar 19 23:15:11 2007 for SugoiTools by  doxygen 1.4.6-NO