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 @@ +