BsPrerequisitesUtil.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include <assert.h>
  3. // 0 - No thread support
  4. // 1 - Render system is thread safe (TODO: NOT WORKING and will probably be removed)
  5. // 2 - Thread support but render system can only be accessed from main thread
  6. #define BS_THREAD_SUPPORT 2
  7. #define BS_PROFILING_ENABLED 1
  8. // Platform-specific stuff
  9. #include "BsPlatformDefines.h"
  10. #if BS_COMPILER == BS_COMPILER_MSVC
  11. // TODO - This is not deactivated anywhere, therefore it applies to any file that includes this header.
  12. // - Right now I don't have an easier way to apply these warnings globally so I'm keeping it this way.
  13. // Secure versions aren't multiplatform, so we won't be using them
  14. #define _CRT_SECURE_NO_WARNINGS
  15. // disable: "<type> needs to have dll-interface to be used by clients'
  16. // Happens on STL member variables which are not public therefore is ok
  17. # pragma warning (disable: 4251)
  18. // disable: 'X' Function call with parameters that may be unsafe
  19. # pragma warning(disable: 4996)
  20. // disable: decorated name length exceeded, name was truncated
  21. // Happens with really long type names. Even fairly standard use
  22. // of std::unordered_map with custom parameters, meaning I can't
  23. // really do much to avoid it. It shouldn't effect execution
  24. // but might cause problems if you compile library
  25. // with one compiler and use it in another.
  26. # pragma warning(disable: 4503)
  27. #endif
  28. // Short-hand names for various built-in types
  29. #include "BsTypes.h"
  30. #include "BsMemoryAllocator.h"
  31. // Useful threading defines
  32. #include "BsThreadDefines.h"
  33. // Commonly used standard headers
  34. #include "BsStdHeaders.h"
  35. // Forward declarations
  36. #include "BsFwdDeclUtil.h"
  37. #include "BsRTTIPrerequisites.h"
  38. #include "BsString.h"