summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYehonal <yehonal.azeroth@gmail.com>2016-08-10 12:39:25 +0200
committerYehonal <yehonal.azeroth@gmail.com>2016-08-10 12:39:53 +0200
commitfc8599299e785cd18a483fa6e6e64bb63db73f0e (patch)
treefb90a29815a5f85f4b57d318d05b72f7eb487d76 /src
parent6f7a0465750ac11c668e1cfd5fa2502059325f10 (diff)
[CORE] Allowing compilation with c++11
Diffstat (limited to 'src')
-rw-r--r--src/cmake/compiler/clang/settings.cmake2
-rw-r--r--src/cmake/compiler/gcc/settings.cmake12
-rw-r--r--src/server/shared/Common.h2
-rw-r--r--src/server/shared/Logging/Log.h1
-rw-r--r--src/server/shared/Threading/Threading.h2
5 files changed, 18 insertions, 1 deletions
diff --git a/src/cmake/compiler/clang/settings.cmake b/src/cmake/compiler/clang/settings.cmake
index ae07b1fc39..28db45aea5 100644
--- a/src/cmake/compiler/clang/settings.cmake
+++ b/src/cmake/compiler/clang/settings.cmake
@@ -13,3 +13,5 @@ if(WITH_COREDEBUG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
message(STATUS "Clang: Debug-flags set (-g3)")
endif()
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-narrowing -Wno-deprecated-register")
diff --git a/src/cmake/compiler/gcc/settings.cmake b/src/cmake/compiler/gcc/settings.cmake
index 25ee96c856..bd6df376fa 100644
--- a/src/cmake/compiler/gcc/settings.cmake
+++ b/src/cmake/compiler/gcc/settings.cmake
@@ -1,6 +1,18 @@
# Set build-directive (used in core to tell which buildtype we used)
add_definitions(-D_BUILD_DIRECTIVE='"${CMAKE_BUILD_TYPE}"')
+set(GCC_EXPECTED_VERSION 4.8.2)
+
+if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_EXPECTED_VERSION)
+ message(FATAL_ERROR "GCC: AzerothCore requires version ${GCC_EXPECTED_VERSION} to build but found ${CMAKE_CXX_COMPILER_VERSION}")
+endif()
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+message(STATUS "GCC: Enabled c++11 support")
+
+#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
+#message(STATUS "GCC: Enabled C99 support")
+
if(PLATFORM EQUAL 32)
# Required on 32-bit systems to enable SSE2 (standard on x64)
set(SSE_FLAGS "-msse2 -mfpmath=sse")
diff --git a/src/server/shared/Common.h b/src/server/shared/Common.h
index c3620f2073..3415a0336c 100644
--- a/src/server/shared/Common.h
+++ b/src/server/shared/Common.h
@@ -139,7 +139,7 @@ inline float finiteAlways(float f) { return finite(f) ? f : 0.0f; }
#if COMPILER == COMPILER_MICROSOFT
inline bool myisfinite(float f) { return _finite(f) && !_isnan(f); }
#else
-inline bool myisfinite(float f) { return finite(f) && !isnan(f); }
+inline bool myisfinite(float f) { return finite(f) && !std::isnan(f); }
#endif
#define atol(a) strtoul( a, NULL, 10)
diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h
index c7f857272f..5bd353c580 100644
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -20,6 +20,7 @@
#define AZEROTHCORE_LOG_H
#include "Common.h"
+#include <ace/Task.h>
#include <ace/Singleton.h>
class WorldPacket;
diff --git a/src/server/shared/Threading/Threading.h b/src/server/shared/Threading/Threading.h
index 39ea88af6d..8ec585382d 100644
--- a/src/server/shared/Threading/Threading.h
+++ b/src/server/shared/Threading/Threading.h
@@ -19,6 +19,8 @@
#ifndef THREADING_H
#define THREADING_H
+#include "Common.h"
+#include <ace/ACE.h>
#include <ace/Thread.h>
#include <ace/TSS_T.h>
#include <ace/Atomic_Op.h>