TrueReality  v0.1.1912
PlatformMacros.h
Go to the documentation of this file.
1 /*
2 * True Reality Open Source Game and Simulation Engine
3 * Copyright © 2021 Acid Rain Studios LLC
4 *
5 * The Base of this class has been adopted from the Delta3D engine
6 *
7 * This library is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU Lesser General Public License as published by the Free
9 * Software Foundation; either version 3.0 of the License, or (at your option)
10 * any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
15 * details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with this library; if not, write to the Free Software Foundation, Inc.,
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 *
21 * @author Maxim Serebrennik
22 */
23 #pragma once
24 
25 #include <trUtil/Export.h>
26 
27 #include <trUtil/TypeConfig.h>
28 
29 
30 namespace trUtil
31 {
40  enum class TR_UTIL_EXPORT BuildType
41  {
43  RELEASE,
45  OTHER
46  };
47 
49 #ifdef _DEBUG
50  const BuildType TR_BUILD_TYPE = BuildType::DEBUG;
51 #else
52  const BuildType TR_BUILD_TYPE = BuildType::RELEASE;
53 #endif
54 
56 #if defined (WIN32) || defined (_WIN32) || defined (__WIN32__)
57  #define TR_WIN
58  #if _MSC_VER < 1900
59  #ifndef snprintf
60  #define snprintf _snprintf
61  #endif
62  #ifndef stricmp
63  #define stricmp _stricmp
64  #endif
65  #endif
66 
67 #elif defined(__APPLE__)
68  #define TR_APPLE
69 #else
70  #define TR_LINUX
71 #endif
72 }
REL_WITH_DEB_INFO
RELEASE
DEBUG
A class that represents date time utility.
Namespace that holds various utility classes for the engine.
Definition: SmrtPtr.h:208
const BuildType TR_BUILD_TYPE
Defines TR Build Types.