diff --git a/CMakeLists.txt b/CMakeLists.txt
index d41808b161..903166413b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,11 +50,12 @@ endif()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/${suffixInstallStr})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/${suffixInstallStr})
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_C_CREATE_SHARED_LIBRARY)
set(CMAKE_CXX_CREATE_SHARED_LIBRARY)
set(CMAKE_DEBUG_POSTFIX "d")
set(CMAKE_RELEASE_POSTFIX "r")
+
#
# Prevent building in the source directory by default
#
@@ -89,6 +90,10 @@ if( MSVC )
set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} "oldnames.lib" "ws2_32.lib" )
set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE" )
endif()
+if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC)
+ set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -fno-strict-aliasing" )
+ #set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -O2" ); #need more test to enable this
+endif()
#
diff --git a/configure b/configure
index d45dea2ade..672d335780 100755
--- a/configure
+++ b/configure
@@ -623,6 +623,7 @@ ac_includes_default="\
ac_subst_vars='LTLIBOBJS
LIBOBJS
+CXXFLAG_CLEARS
CFLAGS_AR
DLLEXT
PCRE_CFLAGS
@@ -4460,7 +4461,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++11"
-
+#CXXFLAGS="$CXXFLAGS -std=gnu++11"
+CXXFLAG_CLEARS="-std=c++11"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -5763,8 +5765,8 @@ my_shared_test_flags=""
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fno-strict-aliasing" >&5
$as_echo_n "checking whether $CC supports -fno-strict-aliasing... " >&6; }
-OLD_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -fno-strict-aliasing"
+OLD_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS -fno-strict-aliasing"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo;
@@ -5776,7 +5778,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- CFLAGS="$OLD_CFLAGS"
+ CPPFLAGS="$OLD_CPPFLAGS"
fi
@@ -7017,10 +7019,12 @@ else
$as_echo "no" >&6; }
fi
+CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: Configure finish" >&5
$as_echo "$as_me: Configure finish" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: CPPFLAGS= $CPPFLAGS" >&5
diff --git a/configure.in b/configure.in
index db34bfc2fa..2715af8578 100644
--- a/configure.in
+++ b/configure.in
@@ -442,7 +442,8 @@ AC_LANG([C++])
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++11"
-
+#CXXFLAGS="$CXXFLAGS -std=gnu++11"
+CXXFLAG_CLEARS="-std=c++11"
AC_C_BIGENDIAN(
[AC_MSG_ERROR([[bigendian is not supported... stopping]])],
@@ -908,14 +909,14 @@ AC_SUBST([WITH_PLUGINS])
# -O2 implies -fstrict-aliasing, but the code is not safe for that
#
AC_MSG_CHECKING([whether $CC supports -fno-strict-aliasing])
-OLD_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -fno-strict-aliasing"
+OLD_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS -fno-strict-aliasing"
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE([int foo;])],
[AC_MSG_RESULT([yes])],
[
AC_MSG_RESULT([no])
- CFLAGS="$OLD_CFLAGS"
+ CPPFLAGS="$OLD_CPPFLAGS"
]
)
@@ -1300,9 +1301,11 @@ else
AC_MSG_RESULT([no])
fi
+CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
AC_SUBST([CFLAGS_AR])
+AC_SUBST([CXXFLAG_CLEARS])
AC_MSG_NOTICE([Configure finish])
AC_MSG_NOTICE([CPPFLAGS= $CPPFLAGS])
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index c3704fd485..6dca40358a 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -78,6 +78,10 @@ map-server: obj $(MAP_DIR_OBJ) $(COMMON_AR) $(LIBCONFIG_AR) $(YAML_CPP_AR)
# map object files
+#cause this one failling otherwise
+obj/npc.o: npc.cpp $(MAP_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) $(YAML_CPP_H)
+ @echo " CXX $< (custom rule)"
+ @@CXX@ @CXXFLAG_CLEARS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) $(PCRE_CFLAGS) $(YAML_CPP_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
obj/%.o: %.c $(MAP_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) $(YAML_CPP_H)
@echo " CC $<"
diff --git a/src/map/map-server.vcxproj b/src/map/map-server.vcxproj
index 182f797217..d95cc0391d 100644
--- a/src/map/map-server.vcxproj
+++ b/src/map/map-server.vcxproj
@@ -233,7 +233,9 @@
-
+
+ Disabled
+
@@ -368,3 +370,4 @@
+