PolyVox  0.3.0-dev
Open source voxel management library
CompilerCapabilities.h
Go to the documentation of this file.
1 /*
2  * This file describes the capabilities of the C++ compiler and is used to determine which features to enable in PolyVox.
3  * It assumes that if the compiler is from VS2008 or earlier then no C++11 is present, otherwise it assumes full support
4  * is present.
5  *
6  * Not that this file is usually overwritten by CMake which does careful tests of the true compiler capabilities. However,
7  * we provide this default file so that CMake is not actually required for users of PolyVox and they can instead just drop
8  * PolyVox code into their project/makefile if they prefer.
9  */
10 
11 #ifndef __PolyVox_CompilerCapabilities_H__
12 #define __PolyVox_CompilerCapabilities_H__
13 
14 // If we are not using Visual Studio (or we are but it
15 // is a recent version) then assume support for these.
16 #if !defined(_MSC_VER) || (_MSC_VER >= 1600)
17  #define HAS_CXX11_CONSTEXPR
18  #define HAS_CXX11_STATIC_ASSERT
19  #define HAS_CXX11_CSTDINT_H
20  #define HAS_CXX11_SHARED_PTR
21 #endif
22 
23 #endif