TurtleBrains
0.3.0
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: TurtleBrains: 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
//#define tb_web
18
//#define tb_ios
19
20
#if !defined(tb_windows) && !defined(tb_macosx) && !defined(tb_linux) && !defined(tb_web) && !defined(tb_ios)
21
#error Unsupported or unknown platform configuration, make sure either: tb_windows, tb_macosx, tb_linux, or tb_web is defined.
22
#endif
/* tb_platform */
23
26
//#define tb_without_audio
27
//#define tb_without_networking
28
//#define tb_without_input_devices
29
//#define tb_without_math_operators ///< When defined, Vector/Matrix math objects will contain FEWER operators, does NOT disable ALL operators!
30
//#define tb_without_splash_screen
31
//#define tb_without_legacy_gl ///< When defined, if TurtleBrains cannot create a 3.2 Core context, it will fail to create application window.
32
//#define tb_with_legacy_gl_context ///< When defined a legacy OpenGL context will be used instead of 3.2 Core, if possible. Not recommended.
33
38
//#define tb_with_debug_set ///< Can be used to keep the debug tools/logging active even in a release build.
39
//#define tb_without_debug_set ///< Takes precedence over anything else, if defined will shutoff debug_set completely.
40
//#define tb_without_diagnostics ///< Turn off TurtleBrains internal logging, automatically implied if tb_without_debug_set is defined.
41
42
//#define tb_with_wide_string ///< Allows an Opt-In for using std::wstring vs std::string implementation throughout framework.
43
44
//If unspecified, setup the debug/release state based on DEBUG or _DEBUG being defined.
45
#if !defined(tb_release_build) && !defined(tb_debug_build)
46
#if !defined(DEBUG) && !defined(_DEBUG)
47
#define tb_release_build
48
#else
49
#define tb_debug_build
50
#endif
51
#endif
/* tb_debug or tb_release */
52
53
//Defines for the compiler being used, mainly to use specific 'features' of a compiler or, more likely, to avoid issues when building.
54
#if !defined(tb_visual_cpp) && !defined(tb_mingw)
55
#if defined(_MSC_VER)
56
#define tb_visual_cpp
57
#elif defined(__MINGW32__)
58
#define tb_mingw
59
#endif
60
#endif
/* compiler checks */
61
62
//Using the with/without options, enable the actual define used deeper in the framework.
63
#if !defined(tb_without_diagnostics) && !defined(tb_with_diagnostics)
64
#define tb_with_diagnostics
65
#endif
66
67
#if !defined(tb_without_legacy_gl) && !defined(tb_with_legacy_gl)
68
#define tb_with_legacy_gl
69
#endif
70
71
#if !defined(tb_without_splash_screen) && !defined(tb_with_splash_screen)
72
#define tb_with_splash_screen
73
#endif
74
75
#if !defined(tb_without_audio) && !defined(tb_with_audio)
76
#define tb_with_audio
77
#endif
78
79
#if !defined(tb_without_networking) && !defined(tb_with_networking)
80
#define tb_with_networking
81
#endif
82
83
#if !defined(tb_without_input_devices) && !defined(tb_with_input_devices)
84
#define tb_with_input_devices
85
#endif
86
87
#if !defined(tb_without_math_operators) && !defined(tb_with_math_operators)
88
#define tb_with_math_operators
89
#endif
90
91
#endif
/* _TurtleBrains_Configuration_h_ */
source
core
tb_configuration.h
Generated on Tue Jun 27 2017 23:48:17 for TurtleBrains by
1.8.9.1