TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_configuration.h
1 
9 #ifndef _TurtleBrains_Configuration_h_
10 #define _TurtleBrains_Configuration_h_
11 
12 //TODO: TIM: Remove the settings in the build script and set them up here, hopefully automatically.
14 //#define tb_windows
15 //#define tb_macosx
16 //#define tb_linux
17 
18 #if !defined(tb_windows) && !defined(tb_macosx) && !defined(tb_linux)
19  #error Unsupported or unknown platform configuration, make sure either: tb_windows, tb_macosx, or tb_linux is defined.
20 #endif /* tb_platform */
21 
22 #if !defined(tb_release_build) && !defined(tb_debug_build)
23  #if !defined(DEBUG) && !defined(_DEBUG)
24  #define tb_release_build
25  #else
26  #define tb_debug_build
27  #endif
28 #endif /* tb_debug or tb_release */
29 
30 //Defines for the compiler being used, mainly to use specific 'features' of a compiler or avoid issues when building.
31 #if !defined(tb_visual_cpp) && !defined(tb_mingw)
32  #if defined(_MSC_VER)
33  #define tb_visual_cpp
34  #elif defined(__MINGW32__)
35  #define tb_mingw
36  #endif
37 #endif /* compiler checks */
38 
40 //#define tb_wide_string
41 
44 
45 //#define tb_enable_debug_set //Can force the debug_set to be enabled in a release build.
46 //#define tb_disable_debug_set //Will disable debug_set regardless of enable define and debug/release build.
47 
48 #define tb_enable_debug_set //Can force the debug_set to be enabled in a release build.
49 #define tb_enable_diagnostics
50 
55 #if !defined(tb_enable_diagnostics) && !defined(tb_disable_diagnostics)
56  #define tb_enable_diagnostics
57 #endif
58 
60 #if !defined(tb_enable_splash) && !defined(tb_disable_splash)
61  #define tb_enable_splash
62 #elif defined(tb_disable_splash)
63  #undef tb_enable_splash
64 #endif
65 
66 
71 //#define tb_math_less_operators
72 
73 #endif /* _TurtleBrains_Configuration_h_ */