| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*-------------------------------------------------------------------------
- This source file is a part of OGRE
- (Object-oriented Graphics Rendering Engine)
- For the latest info, see http://www.ogre3d.org/
- Copyright (c) 2000-2011 Torus Knot Software Ltd
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE
- -------------------------------------------------------------------------*/
- #pragma once
- #include <assert.h>
- // 0 - No thread support
- // 1 - Render system is thread safe (TODO: NOT WORKING and will probably be removed)
- // 2 - Thread support but render system can only be accessed from main thread
- #define CM_THREAD_SUPPORT 2
- #define CM_PROFILING_ENABLED 1
- // Platform-specific stuff
- #include "CmPlatformDefines.h"
- #if CM_COMPILER == CM_COMPILER_MSVC
- // TODO - This is not deactivated anywhere, therefore it applies to any file that includes this header.
- // - Right now I don't have an easier way to apply these warnings globally so I'm keeping it this way.
- // Secure versions aren't multiplatform, so we won't be using them
- #define _CRT_SECURE_NO_WARNINGS
- // disable: "<type> needs to have dll-interface to be used by clients'
- // Happens on STL member variables which are not public therefore is ok
- # pragma warning (disable: 4251)
- // disable: 'X' Function call with parameters that may be unsafe
- // Gets triggered when I include boost UUID header, for no valid reason
- # pragma warning(disable: 4996)
- #endif
- // Short-hand names for various built-in types
- #include "CmTypes.h"
- #include "CmMemoryAllocator.h"
- // Useful threading defines
- #include "CmThreadDefines.h"
- // Commonly used standard headers
- #include "CmStdHeaders.h"
- // Forward declarations
- #include "CmFwdDeclUtil.h"
- #include "CmRTTIPrerequisites.h"
- #include "CmString.h"
|