WalkingBad 0 Posted August 25, 2014 sir Ossi Harmony Full 3.3.12 v5 support 2014-02-05 client? Quote Share this post Link to post Share on other sites
quesoph 105 Posted August 26, 2014 ^ I think harmony only supports up to 2012-04-10.. 1 Milamber reacted to this Quote Share this post Link to post Share on other sites
Jedzkie 58 Posted August 26, 2014 RIP Harmony, they deleted their facebook fan page. Quote Share this post Link to post Share on other sites
WalkingBad 0 Posted August 26, 2014 thanks for the response guys.. Quote Share this post Link to post Share on other sites
Unsung 0 Posted September 21, 2014 (edited) make[1]: Entering directory `/home/******/trunk/src/common' Makefile:26: *** unterminated call to function `addprefix': missing `)'. Stop. make[1]: Leaving directory `/home/******/trunk/src/common' make: *** [common_sql] Error 2 Apply patch. ./configure make clean Edited September 21, 2014 by Mrgxsy Quote Share this post Link to post Share on other sites
stiflerxx 2 Posted November 3, 2014 UPDATE Hercules Harmony Patch - 30 MAI updated the FULL Patch to V5 , Fully work with the latest Hercules REV. Dropped the Small Fix Patch.... the Patch can be found on the First Site of this Topic... hello no more as this part should I replace? Index: Hercules-10.sln -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking", "vcproj-10plugin-HPMHooking.vcxproj", "{E64C56D3-CDFB-483B-900B-A62D216B6D2F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking", "vcproj-10plugin-HPMHooking.vcxproj", "{7ED92B9F-95E8-49B8-9D4F-C4C9BFDE0B22}" Index: vcproj-10/char-server.vcxproj =================================================================== --- vcproj-10/char-server.vcxproj (revision 14262) +++ vcproj-10/char-server.vcxproj (working copy) @@ -173,6 +173,7 @@ <ClInclude Include="..srccharinter.h" /> <ClInclude Include="..srccharpincode.h" /> <ClInclude Include="..srccommonwinapi.h" /> + <ClInclude Include="..srccommonharmony.h" /> </ItemGroup> <ItemGroup> <ClCompile Include="..3rdpartylibconfiggrammar.c" /> @@ -213,6 +214,7 @@ <ClCompile Include="..srccharint_storage.c" /> <ClCompile Include="..srccharinter.c" /> <ClCompile Include="..srccharpincode.c" /> + <ClCompile Include="..srccommonharmonycore.c" /> </ItemGroup> <Import Project="$(VCTargetsPath)Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> Index: vcproj-10/login-server.vcxproj =================================================================== --- vcproj-10/login-server.vcxproj (revision 14262) +++ vcproj-10/login-server.vcxproj (working copy) @@ -166,6 +166,7 @@ <ClInclude Include="..srccommontimer.h" /> <ClInclude Include="..srccommonutils.h" /> <ClInclude Include="..3rdpartymt19937armt19937ar.h" /> + <ClInclude Include="..srccommonharmony.h" /> </ItemGroup> <ItemGroup> <ClCompile Include="..3rdpartylibconfiggrammar.c" /> @@ -197,6 +198,7 @@ <ClCompile Include="..srccommontimer.c" /> <ClCompile Include="..srccommonutils.c" /> <ClCompile Include="..3rdpartymt19937armt19937ar.c" /> + <ClCompile Include="..srccommonharmonycore.c" /> </ItemGroup> <Import Project="$(VCTargetsPath)Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> Index: vcproj-10/map-server.vcxproj =================================================================== --- vcproj-10/map-server.vcxproj (revision 14262) +++ vcproj-10/map-server.vcxproj (working copy) @@ -160,6 +160,7 @@ <ClInclude Include="..srccommontimer.h" /> <ClInclude Include="..srccommonutils.h" /> <ClInclude Include="..srccommonwinapi.h" /> + <ClInclude Include="..srccommonharmony.h" /> <ClInclude Include="..srcmapatcommand.h" /> <ClInclude Include="..srcmapbattle.h" /> <ClInclude Include="..srcmapbattleground.h" /> @@ -205,6 +206,7 @@ <ClInclude Include="..srcmaptrade.h" /> <ClInclude Include="..srcmapunit.h" /> <ClInclude Include="..srcmapvending.h" /> + <ClInclude Include="..srcmapharmony.h" /> </ItemGroup> <ItemGroup> <ClCompile Include="..3rdpartylibconfiggrammar.c" /> @@ -235,6 +237,7 @@ <ClCompile Include="..srccommonthread.c" /> <ClCompile Include="..srccommontimer.c" /> <ClCompile Include="..srccommonutils.c" /> + <ClCompile Include="..srccommonharmonycore.c" /> <ClCompile Include="..srcmapatcommand.c" /> <ClCompile Include="..srcmapbattle.c" /> <ClCompile Include="..srcmapbattleground.c" /> @@ -274,6 +277,7 @@ <ClCompile Include="..srcmaptrade.c" /> <ClCompile Include="..srcmapunit.c" /> <ClCompile Include="..srcmapvending.c" /> + <ClCompile Include="..srcmapharmony.c" /> </ItemGroup> <Import Project="$(VCTargetsPath)Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 4, 2014 I need help please Help Quote Share this post Link to post Share on other sites
sbk_ 30 Posted November 4, 2014 You have to include the files of harmony in the Makefile, otherwise the emulator does not compile. 1 raker4013 reacted to this Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 4, 2014 how do i do that? Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 4, 2014 You have to include the files of harmony in the Makefile, otherwise the emulator does not compile. how? Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 5, 2014 how to fix this Harmony problems ~.~ Quote Share this post Link to post Share on other sites
sbk_ 30 Posted November 5, 2014 (edited) You have to include the files of harmony in the Makefile, otherwise the emulator does not compile. how? in src/common/Makefile.in search: console.o core.o malloc.o socket.o) replace to: console.o core.o malloc.o socket.o harmonycore.o) in src/map/Makefil.in search: clif.c date.c duel.c elemental.c guild.c homunculus.c HPMmap.c replace to: clif.c date.c duel.c elemental.c guild.c harmony.c homunculus.c HPMmap.c and search: clif.h date.h duel.h elemental.h guild.h homunculus.h HPMmap.h replace to: clif.h date.h duel.h elemental.h guild.h harmony.h homunculus.h HPMmap.h in linux terminal you have to dicionar the dos2unix command on these files. Sample (in root folder): dos2unix src/common/Makefile dos2unix src/map/Makefile Edited November 5, 2014 by sbk_ 1 raker4013 reacted to this Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 5, 2014 You have to include the files of harmony in the Makefile, otherwise the emulator does not compile. how? in src/common/Makefile.in search: console.o core.o malloc.o socket.o) replace to: console.o core.o malloc.o socket.o harmonycore.o) in src/map/Makefil.in search: clif.c date.c duel.c elemental.c guild.c homunculus.c HPMmap.c replace to: clif.c date.c duel.c elemental.c guild.c harmony.c homunculus.c HPMmap.c and search: clif.h date.h duel.h elemental.h guild.h homunculus.h HPMmap.h replace to: clif.h date.h duel.h elemental.h guild.h harmony.h homunculus.h HPMmap.h in linux terminal you have to dicionar the dos2unix command on these files. Sample (in root folder): dos2unix src/common/Makefile dos2unix src/map/Makefile i'm using rathena sir this are my makefile.in map/makefile.in COMMON_H = $(shell ls ../common/*.h)COMMON_AR = ../common/obj/common.aCOMMON_INCLUDE = -I../common/MT19937AR_OBJ = ../../3rdparty/mt19937ar/mt19937ar.oMT19937AR_H = ../../3rdparty/mt19937ar/mt19937ar.hMT19937AR_INCLUDE = -I../../3rdparty/mt19937arLIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h)LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.aLIBCONFIG_INCLUDE = -I../../3rdparty/libconfigMAP_OBJ = $(shell ls *.c | sed -e "s/.c/.o/g")MAP_DIR_OBJ = $(MAP_OBJ:%=obj/%)MAP_H = $(shell ls ../map/*.h) $(shell ls ../config/*.h) HAVE_MYSQL=@HAVE_MYSQL@ifeq ($(HAVE_MYSQL),yes) SERVER_DEPENDS=map-serverelse SERVER_DEPENDS=needs_mysqlendifALL_DEPENDS=serverHAVE_PCRE=@HAVE_PCRE@ifeq ($(HAVE_PCRE),yes) PCRE_CFLAGS=-DPCRE_SUPPORT @PCRE_CFLAGS@else PCRE_CFLAGS=endif@SET_MAKE@#####################################################################.PHONY : all server clean helpall: $(ALL_DEPENDS)server: $(SERVER_DEPENDS)clean: @echo " CLEAN map" @rm -rf *.o obj ../../@OMAP@@EXEEXT@help: @echo "possible targets are 'server' 'all' 'clean' 'help'" @echo "'server' - map server" @echo "'all' - builds all above targets" @echo "'clean' - cleans builds and objects" @echo "'help' - outputs this message"#####################################################################needs_mysql: @echo "MySQL not found or disabled by the configure script" @exit 1# object directoriesobj: @echo " MKDIR obj" @-mkdir obj# executablesmap-server: obj $(MAP_DIR_OBJ) $(COMMON_AR) $(LIBCONFIG_AR) @echo " LD @OMAP@@EXEEXT@" @@CC@ @LDFLAGS@ -o ../../@OMAP@@EXEEXT@ $(MAP_DIR_OBJ) $(COMMON_AR) $(MT19937AR_OBJ) $(LIBCONFIG_AR) @LIBS@ @PCRE_LIBS@ @MYSQL_LIBS@# map object filesobj/%.o: %.c $(MAP_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) @echo " CC $<" @@CC@ @CFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) $(PCRE_CFLAGS) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<# missing object files$(COMMON_AR): @$(MAKE) -C ../common server$(MT19937AR_OBJ): @$(MAKE) -C ../../3rdparty/mt19937ar$(LIBCONFIG_AR): @$(MAKE) -C ../../3rdparty/libconfig common makefile.in #COMMON_OBJ = $(ls *.c | grep -viw sql.c | sed -e "s/.c/.o/g")COMMON_OBJ = core.o socket.o timer.o db.o nullpo.o malloc.o showmsg.o strlib.o utils.o harmonycore.o grfio.o mapindex.o ers.o md5calc.o minicore.o minisocket.o minimalloc.o random.o des.o conf.o thread.o mutex.o raconf.o mempool.o msg_conf.o cli.o sql.oCOMMON_DIR_OBJ = $(COMMON_OBJ:%=obj/%)COMMON_H = harmony.h $(shell ls ../common/*.h)COMMON_AR = obj/common.aMT19937AR_OBJ = ../../3rdparty/mt19937ar/mt19937ar.oMT19937AR_H = ../../3rdparty/mt19937ar/mt19937ar.hMT19937AR_INCLUDE = -I../../3rdparty/mt19937arLIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h)LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.aLIBCONFIG_INCLUDE = -I../../3rdparty/libconfigHAVE_MYSQL=@HAVE_MYSQL@ifeq ($(HAVE_MYSQL),yes) SERVER_DEPENDS=commonelse SERVER_DEPENDS=needs_mysqlendifALL_DEPENDS=server@SET_MAKE@#####################################################################.PHONY : all server clean helpall: $(ALL_DEPENDS)server: $(SERVER_DEPENDS)clean: @echo " CLEAN common" @rm -rf *.o objhelp: @echo "possible targets are 'server' 'all' 'clean' 'help'" @echo "'server' - builds object files used in servers" @echo "'all' - builds all above targets" @echo "'clean' - cleans builds and objects" @echo "'help' - outputs this message"#####################################################################needs_mysql: @echo "MySQL not found or disabled by the configure script" @exit 1obj: @echo " MKDIR obj" @-mkdir obj$(COMMON_AR): $(COMMON_DIR_OBJ) @echo " AR $@" @@AR@ rcs $(COMMON_AR) $(COMMON_DIR_OBJ)common: obj $(COMMON_DIR_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_AR) $(COMMON_AR)obj/%.o: %.c $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) @echo " CC $<" @@CC@ @CFLAGS@ $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<obj/mini%.o: %.c $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) @echo " CC $<" @@CC@ @CFLAGS@ $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) @MYSQL_CFLAGS@ -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $<# missing object files$(MT19937AR_OBJ): @$(MAKE) -C ../../3rdparty/mt19937ar$(LIBCONFIG_AR): @$(MAKE) -C ../../3rdparty/libconfig Quote Share this post Link to post Share on other sites
sbk_ 30 Posted November 5, 2014 Add in CMakeLists.txt 1 raker4013 reacted to this Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 5, 2014 Add in CMakeLists.txt how about this i don't have any problem from the first this is the new problem Quote Share this post Link to post Share on other sites
raker4013 0 Posted November 5, 2014 ####################################################################### "Getting Started with CMake", a tutorial video by Eric Wing.# Part 1 of 6: Part 2 of 6: Part 3 of 6: Part 4 of 6: Part 5 of 6: Part 6 of 6: You can use notepad++ for syntax highlighting.# Naming conventions:# WITH_* : option to use an external package or not# ENABLE_* : option to use an internal feature/code or not# HAVE_* : internal variable indicating if we have and are using something## Maintainers: Flavio J. Saraiva (feel free to send complaints or suggestions)# flaviojs @ rAthena forum/irc# flaviojs2005 A-T/ gmail <D.o,T> com# lightaisme A-T/ gmail <D.o,T> com#######################################################################cmake_minimum_required( VERSION 2.8.4 )# Functional changes from 2.8.3 to 2.8.4:# string(SUBSTRING) works with length -1 as "rest of string"# changes to some CPack generators# CYGWIN no longer defines WIN32# CMP0017: Prefer files from the CMake module directory when including from there.set( CMAKE_LEGACY_CYGWIN_WIN32 0 )cmake_minimum_required( VERSION 2.8.8 )project( rAthena C )if( CYGWIN ) unset( WIN32 )endif()## Prevent building in the source directory by default#if( ALLOW_SAME_DIRECTORY )elseif( "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}" ) option( ALLOW_SAME_DIRECTORY "Allow CMake to build in the source directory." OFF ) message( FATAL_ERROR "Do not use the source directory to build your files, instead delete CMakeCache.txt, create a separate folder and build there.n" "Example: (build in subdir 'build' and install to source dir)n" " rm -f CMakeCache.txtn" " mkdir buildn" " cd buildn" " cmake -G"Unix Makefiles" -DINSTALL_TO_SOURCE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..n" " make installn" " cd ..n" " rm -rf buildn" "To skip this check, set ALLOW_SAME_DIRECTORY to ON (-DALLOW_SAME_DIRECTORY=ON)" )endif()## Global stuff#set( GLOBAL_LIBRARIES ${LINK_LIBRARIES} CACHE INTERNAL "" )# list (comma separated values)set( GLOBAL_INCLUDE_DIRS ${INCLUDE_DIRECTORIES} CACHE INTERNAL "" )# list (comma separated values)set( GLOBAL_DEFINITIONS ${COMPILE_DEFINITIONS} CACHE INTERNAL "" )# string (space separated values -DFOO=bar)mark_as_advanced( GLOBAL_LIBRARIES GLOBAL_INCLUDE_DIRS GLOBAL_DEFINITIONS )if( WIN32 ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DFD_SETSIZE=4096" )endif()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()## 3rd party#set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/cmake CACHE INTERNAL "" )include( CheckCSourceCompiles )include( CheckCSourceRuns )include( CheckIncludeFile )include( CheckFunctionExists )include( FindFunctionLibrary )include( TestBigEndian )## PACKETVER#set( PACKETVER CACHE STRING "Sets the PACKETVER define of the servers. (see src/common/mmo.h)" )if( PACKETVER ) list( APPEND GLOBAL_DEFINITIONS PACKETVER=${PACKETVER} )endif()## Find git#message( STATUS "Detecting git" )find_package(Git)if(GIT_FOUND) if(GIT_VERSION_STRING) message(STATUS "Found git : ${GIT_EXECUTABLE} version (${GIT_VERSION_STRING})") else() message(STATUS "Found git : ${GIT_EXECUTABLE}") endif()endif()## Find svnversion#message( STATUS "Detecting svnversion" )find_program( SVNVERSION_EXECUTABLE svnversion )mark_as_advanced( SVNVERSION_EXECUTABLE )if( SVNVERSION_EXECUTABLE ) message( STATUS "Found svnversion: ${SVNVERSION_EXECUTABLE}" )endif()message( STATUS "Detecting svnversion - done" )## Find Subversion#message( STATUS "Detecting Subversion" )find_package( Subversion )message( STATUS "Detecting Subversion - done" )## SVNVERSION#if( SVNVERSION_EXECUTABLE ) message( STATUS "Getting svn version" ) execute_process( COMMAND ${SVNVERSION_EXECUTABLE} ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE SVNVERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) if( SVNVERSION MATCHES "^Unversioned" ) set( SVNVERSION ) endif() string( REGEX REPLACE "[^1234567890MSexported]" "_" SVNVERSION "${SVNVERSION}" ) message( STATUS "Found SVNversion: ${SVNVERSION}" ) message( STATUS "Getting svn version - done" )endif()if( Subversion_FOUND AND SVNVERSION ) message( STATUS "Getting svn branch" ) Subversion_WC_INFO( ${PROJECT_SOURCE_DIR} rAthena ) if( rAthena_WC_URL ) string( REGEX MATCH "[^/]+$" BRANCH ${rAthena_WC_URL} ) set( SVNVERSION "${BRANCH}-${SVNVERSION}" ) message( STATUS "Found branch: ${BRANCH}" ) endif() message( STATUS "Getting svn branch - done" )endif()## threads#message( STATUS "Detecting threads library" )set( CMAKE_THREAD_PREFER_PTHREAD 1 )find_package(Threads REQUIRED)if( CMAKE_THREAD_LIBS_INIT ) message( STATUS "Adding global library: ${FUNCTION_FLOOR_LIBRARIES}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} )endif()message( STATUS "Detecting threads library - done" )## math library (FreeBSD/Linux/Solaris)#message( STATUS "Detecting math library (m)" )CHECK_INCLUDE_FILE( math.h HAVE_MATH_H )if( NOT HAVE_MATH_H ) message( FATAL_ERROR "math.h not found" )endif()set( CMAKE_REQUIRED_LIBRARIES ${GLOBAL_LIBRARIES} )find_function_library( floor FUNCTION_FLOOR_LIBRARIES m )if( FUNCTION_FLOOR_LIBRARIES ) message( STATUS "Adding global library: ${FUNCTION_FLOOR_LIBRARIES}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${FUNCTION_FLOOR_LIBRARIES} )endif()message( STATUS "Detecting math library (m) - done" )## dynamic loading library (Linux)#if( NOT WIN32 )message( STATUS "Detecting dynamic loading library (dl)" )set( CMAKE_REQUIRED_LIBRARIES ${GLOBAL_LIBRARIES} )find_function_library( dlopen FUNCTION_DLOPEN_LIBRARIES dl )if( FUNCTION_DLOPEN_LIBRARIES ) message( STATUS "Adding global library: ${FUNCTION_DLOPEN_LIBRARIES}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${FUNCTION_DLOPEN_LIBRARIES} )endif()message( STATUS "Detecting dynamic loading library (dl) - done" )endif()## networking library (Solaris/MinGW)#if( NOT MSVC )message( STATUS "Detecting networking library (socket/nsl/ws2_32)" )set( CMAKE_REQUIRED_LIBRARIES ${GLOBAL_LIBRARIES} )find_function_library( bind FUNCTION_BIND_LIBRARIES socket ws2_32 )if( FUNCTION_BIND_LIBRARIES ) message( STATUS "Adding global library: ${FUNCTION_BIND_LIBRARIES}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${FUNCTION_BIND_LIBRARIES} )endif()set( CMAKE_REQUIRED_LIBRARIES ${GLOBAL_LIBRARIES} )find_function_library( gethostbyname FUNCTION_GETHOSTBYNAME_LIBRARIES nsl )if( FUNCTION_GETHOSTBYNAME_LIBRARIES ) message( STATUS "Adding global library: ${FUNCTION_GETHOSTBYNAME_LIBRARIES}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${FUNCTION_GETHOSTBYNAME_LIBRARIES} )endif()message( STATUS "Detecting networking library (socket/nsl/ws2_32) - done" )endif()## Test for big endian#TEST_BIG_ENDIAN( BIG_ENDIAN )if( NOT DEFINED BIG_ENDIAN ) message( WARNING "unable to determine endianess, only LITTLE ENDIAN is supported" )elseif( BIG_ENDIAN ) message( FATAL_ERROR "bigendian is not supported" )endif()## Test monotonic clock## CLOCK_MONOTONIC clock for clock_gettime# Normally defines _POSIX_TIMERS > 0 and _POSIX_MONOTONIC_CLOCK (for posix# compliant systems) and __FreeBSD_cc_version >= 500005 (for FreeBSD# >= 5.1.0, which does not have the posix defines (ref. r11983)) would be# checked but some systems define them even when they do not support it# (ref. bugreport:1003).#message( STATUS "Check for monotonic clock" )find_library( RT_LIBRARY rt )# (optional, rt on Debian)mark_as_advanced( RT_LIBRARY )set( CMAKE_REQUIRED_LIBRARIES ${GLOBAL_LIBRARIES} ${RT_LIBRARY} )file( READ "${CMAKE_SOURCE_DIR}/3rdparty/cmake/tests/HAVE_MONOTONIC_CLOCK.c" _SOURCE )CHECK_C_SOURCE_RUNS( "${_SOURCE}" HAVE_MONOTONIC_CLOCK )if( HAVE_MONOTONIC_CLOCK ) message( STATUS "Check for monotonic clock - yes" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${RT_LIBRARY} ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DHAVE_MONOTONIC_CLOCK" )else() message( STATUS "Check for monotonic clock - no" )endif()## Test if function exists:# setrlimit - used to set the socket limit# strnlen - string length with upper scan bound# getpid - process id# gettid - thread id#CHECK_FUNCTION_EXISTS( setrlimit HAVE_SETRLIMIT )CHECK_FUNCTION_EXISTS( strnlen HAVE_STRNLEN )CHECK_FUNCTION_EXISTS( getpid HAVE_GETPID )CHECK_FUNCTION_EXISTS( gettid HAVE_GETTID )foreach( define HAVE_SETRLIMIT HAVE_STRNLEN HAVE_GETPID HAVE_GETTID ) if( ${define} ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -D${define}" ) endif()endforeach()## Use RDTSC instruction as a timing source (time stamp counter on x86 since Pentium) (default=OFF)## Enable it when you've timing issues. (ex: in conjunction with XEN or Other Virtualization mechanisms)# Please ensure that you've disabled dynamic CPU-Frequencys, such as power saving options.# (On the most modern Dedicated Servers cpufreq is preconfigured, see your distribution's manual how to disable it)#option( ENABLE_RDTSC "use RDTSC instruction as a timing source (default=OFF)" OFF )if( ENABLE_RDTSC ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DENABLE_RDTSC" ) message( STATUS "Enabled RDTSC as a timing source" )endif()## Enable extra debug code (default=OFF)#option( ENABLE_EXTRA_DEBUG_CODE "enable extra debug code (default=OFF)" OFF )if( ENABLE_EXTRA_DEBUG_CODE ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DDEBUG" ) message( STATUS "Enabled extra DEBUG code" )endif()## Enable builtin memory manager (default=default)#set( MEMMGR_OPTIONS "default;yes;no" )set( ENABLE_MEMMGR "default" CACHE STRING "enable builtin memory manager: ${MEMMGR_OPTIONS} (default=default)" )set_property( CACHE ENABLE_MEMMGR PROPERTY STRINGS ${MEMMGR_OPTIONS} )if( ENABLE_MEMMGR STREQUAL "default" ) # use source code defaultelseif( ENABLE_MEMMGR STREQUAL "yes" ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DUSE_MEMMGR" ) message( STATUS "Enabled the builtin memory manager" )elseif( ENABLE_MEMMGR STREQUAL "no" ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DNO_MEMMGR" ) message( STATUS "Disabled the builtin memory manager" )else() message( FATAL_ERROR "invalid option ENABLE_MEMMGR=${ENABLE_MEMMGR} (valid options: ${MEMMGR_OPTIONS})" )endif()## Enable memory library (default=system)#set( MEMORY_OPTIONS "system;memwatch;dmalloc;gcollect" )set( ENABLE_MEMORY "system" CACHE STRING "enable memory library: ${MEMORY_OPTIONS} (default=system)" )set_property( CACHE ENABLE_MEMORY PROPERTY STRINGS ${MEMORY_OPTIONS} )if( ENABLE_MEMORY STREQUAL "system" ) # use system functionselseif( ENABLE_MEMORY STREQUAL "memwatch" ) CHECK_INCLUDE_FILE( memwatch.h HAVE_MEMWATCH_H ) find_library( MEMWATCH_LIBRARY memwatch ) mark_as_advanced( MEMWATCH_LIBRARY ) if( HAVE_MEMWATCH_H AND MEMWATCH_LIBRARY ) message( STATUS "Adding global library: ${MEMWATCH_LIBRARY}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${MEMWATCH_LIBRARY} ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DMEMWATCH" ) message( STATUS "Enabled the memory library memwatch" ) else() message( FATAL_ERROR "Failed to enable the memory library memwatch" ) endif()elseif( ENABLE_MEMORY STREQUAL "dmalloc" ) CHECK_INCLUDE_FILE( dmalloc.h HAVE_DMALLOC_H ) find_library( DMALLOC_LIBRARY dmalloc ) mark_as_advanced( DMALLOC_LIBRARY ) if( HAVE_DMALLOC_H AND DMALLOC_LIBRARY ) message( STATUS "Adding global library: ${DMALLOC_LIBRARY}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${DMALLOC_LIBRARY} ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DDMALLOC -DDMALLOC_FUNC_CHECK" ) message( STATUS "Enabled the memory library dmalloc" ) else() message( FATAL_ERROR "Failed to enable the memory library dmalloc" ) endif()elseif( ENABLE_MEMORY STREQUAL "gcollect" ) CHECK_INCLUDE_FILE( gc.h HAVE_GC_H ) find_library( GC_LIBRARY gc ) mark_as_advanced( GC_LIBRARY ) if( HAVE_GC_H AND GC_LIBRARY ) message( STATUS "Adding global library: ${GC_LIBRARY}" ) set_property( CACHE GLOBAL_LIBRARIES PROPERTY VALUE ${GLOBAL_LIBRARIES} ${GC_LIBRARY} ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DGCOLLECT" ) message( STATUS "Enabled the memory library gcollect" ) else() message( FATAL_ERROR "Failed to enable the memory library gcollect" ) endif()else() message( FATAL_ERROR "invalid option ENABLE_MEMORY=${ENABLE_MEMORY} (valid options: ${MEMORY_OPTIONS})" )endif()## Enable profiler (default=none)#set( PROFILER_OPTIONS "none;gprof" )set( ENABLE_PROFILER "none" CACHE STRING "enable profiler: ${PROFILER_OPTIONS} (default=none)" )set_property( CACHE ENABLE_PROFILER PROPERTY STRINGS ${PROFILER_OPTIONS} )if( ENABLE_PROFILER STREQUAL "none" ) # no profilerelseif( ENABLE_PROFILER STREQUAL "gprof" ) if( CMAKE_C_COMPILER_ID STREQUAL "GNU" ) if( NOT HAVE_GPROF_FLAGS ) set_property( CACHE CMAKE_C_FLAGS PROPERTY VALUE "${CMAKE_C_FLAGS} -pg" ) set_property( CACHE CMAKE_EXE_LINKER_FLAGS PROPERTY VALUE "${CMAKE_EXE_LINKER_FLAGS} -pg" ) set( HAVE_GPROF_FLAGS ON CACHE INTERNAL "" ) endif() message( STATUS "Enabled the profiler gprof" ) else() message( FATAL_ERROR "Failed to enable the profiler gprof - not GNU" ) endif()else() message( FATAL_ERROR "invalid option ENABLE_PROFILER=${ENABLE_PROFILER} (valid options: ${PROFILER_OPTIONS})" )endif()## Enable extra buildbot code (default=OFF)#option( ENABLE_EXTRA_BUILDBOT_CODE "enable extra buildbot code (default=OFF)" OFF )if( ENABLE_EXTRA_BUILDBOT_CODE ) set_property( CACHE GLOBAL_DEFINITIONS PROPERTY VALUE "${GLOBAL_DEFINITIONS} -DBUILDBOT" ) message( STATUS "Enabled extra BUILDBOT code" )endif()###################################################################### package stuff#set( CPACK_PACKAGE_NAME "rAthena" )set( CPACK_PACKAGE_DESCRIPTION_SUMMARY "MMORPG server package" )set( CPACK_PACKAGE_VERSION ${SVNVERSION} )set( CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE )#set( CPACK_MONOLITHIC_INSTALL ON )include( CPACK OPTIONAL RESULT_VARIABLE HAVE_CPACK )if( HAVE_CPACK ) option( WITH_CPACK "enable building packages with CPack ('package' target)" ON )endif()if( NOT WITH_CPACK ) # empty replacements macro( cpack_add_component_group ) endmacro() macro( cpack_add_component ) endmacro() message( STATUS "Disabled package creation" )endif()set( Runtime "Runtime files" CACHE INTERNAL "" )set( Runtime_base "configurations, dbs, npcs, docs, ..." CACHE INTERNAL "" )set( Runtime_templates "conf/import and save (generated from conf/import-tmpl and save-tmpl)" CACHE INTERNAL "" )cpack_add_component_group( Runtime DESCRIPTION ${Runtime} DISPLAY_NAME "Runtime" )cpack_add_component( Runtime_base DESCRIPTION ${Runtime_base} DISPLAY_NAME "Base files" GROUP Runtime )cpack_add_component( Runtime_templates DESCRIPTION ${Runtime_templates} DISPLAY_NAME "Base templates" GROUP Runtime )set( Development "Development files" CACHE INTERNAL "" )set( Development_base "projects, 3rdparty, sources, templates" CACHE INTERNAL "" )cpack_add_component_group( Development DESCRIPTION ${Development} DISPLAY_NAME "Development" )cpack_add_component( Development_base DESCRIPTION ${Development_base} DISPLAY_NAME "Base files" GROUP Development )## install stuff#option( INSTALL_COMPONENT_RUNTIME "install/package files needed to run the project" ON )option( INSTALL_COMPONENT_DEVELOPMENT "install/package files needed to build the project" OFF )option( INSTALL_TO_PATH "copy files to INSTALL_PATH" OFF )option( INSTALL_TO_SOURCE "copy files to source directory, skips what is already there (${CMAKE_CURRENT_SOURCE_DIR})" OFF )option( INSTALL_TO_SUBDIR "copy files to subdirectory (${CMAKE_CURRENT_BINARY_DIR}/install)" OFF )set( INSTALL_PATH "${CMAKE_INSTALL_PREFIX}" CACHE STRING "install path (only used when INSTALL_TO_PATH is set)" )mark_as_advanced( CMAKE_INSTALL_PREFIX )if( INSTALL_TO_PATH AND NOT ("${INSTALL_TO}" STREQUAL "path") )# changed to path set_property( CACHE INSTALL_TO_SOURCE INSTALL_TO_SUBDIR PROPERTY VALUE OFF )elseif( INSTALL_TO_SOURCE AND NOT ("${INSTALL_TO}" STREQUAL "source") )# changed to source set_property( CACHE INSTALL_TO_PATH INSTALL_TO_SUBDIR PROPERTY VALUE OFF )elseif( INSTALL_TO_SUBDIR AND NOT ("${INSTALL_TO}" STREQUAL "subdir") )# changed to subdir set_property( CACHE INSTALL_TO_PATH INSTALL_TO_SOURCE PROPERTY VALUE OFF )elseif( NOT INSTALL_TO_PATH AND NOT INSTALL_TO_SOURCE AND NOT INSTALL_TO_SUBDIR )# default set_property( CACHE INSTALL_TO_SUBDIR PROPERTY VALUE ON )endif()if( INSTALL_TO_PATH ) set( INSTALL_TO "path" CACHE INTERNAL "" ) set_property( CACHE CMAKE_INSTALL_PREFIX PROPERTY VALUE "${INSTALL_PATH}" )elseif( INSTALL_TO_SOURCE ) set( INSTALL_TO "source" CACHE INTERNAL "" ) set_property( CACHE CMAKE_INSTALL_PREFIX PROPERTY VALUE "${CMAKE_CURRENT_SOURCE_DIR}" )elseif( INSTALL_TO_SUBDIR ) set( INSTALL_TO "subdir" CACHE INTERNAL "" ) set_property( CACHE CMAKE_INSTALL_PREFIX PROPERTY VALUE "${CMAKE_CURRENT_BINARY_DIR}/install" )endif()set( SVN_FOLDER_PATTERN "[.]svn" CACHE STRING "pattern of svn folder that we exclude from instalations" )mark_as_advanced( SVN_FOLDER_PATTERN )set( DEVELOPMENT_FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt" "${CMAKE_CURRENT_SOURCE_DIR}/configure" "${CMAKE_CURRENT_SOURCE_DIR}/configure.in" "${CMAKE_CURRENT_SOURCE_DIR}/rAthena-9.sln" "${CMAKE_CURRENT_SOURCE_DIR}/rAthena-10.sln" "${CMAKE_CURRENT_SOURCE_DIR}/rAthena-12.sln" "${CMAKE_CURRENT_SOURCE_DIR}/rAthena-13.sln" )set( DEVELOPMENT_DIRECTORIES "3rdparty" "conf/import-tmpl" "conf/msg_conf/import-tmpl" "db/import-tmpl" "src" "vcproj-9" "vcproj-10" )set( RUNTIME_FILES "${CMAKE_CURRENT_SOURCE_DIR}/athena-start" "${CMAKE_CURRENT_SOURCE_DIR}/charserv.bat" "${CMAKE_CURRENT_SOURCE_DIR}/dbghelp.dll" "${CMAKE_CURRENT_SOURCE_DIR}/libmysql.dll" "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" "${CMAKE_CURRENT_SOURCE_DIR}/logserv.bat" "${CMAKE_CURRENT_SOURCE_DIR}/mapserv.bat" "${CMAKE_CURRENT_SOURCE_DIR}/pcre3.dll" "${CMAKE_CURRENT_SOURCE_DIR}/README.txt" "${CMAKE_CURRENT_SOURCE_DIR}/runserver.bat" "${CMAKE_CURRENT_SOURCE_DIR}/serv.bat" "${CMAKE_CURRENT_SOURCE_DIR}/zlib1.dll" )set( RUNTIME_DIRECTORIES "conf" "db" "doc" "log" "npc" "sql-files" "tools" )if( INSTALL_TO_SOURCE )# skip, already in the source direlse() if( INSTALL_COMPONENT_RUNTIME ) install( FILES ${RUNTIME_FILES} DESTINATION "." COMPONENT Runtime_base ) foreach( DIR IN ITEMS ${RUNTIME_DIRECTORIES} ) if( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${DIR}/" ) install( DIRECTORY "${DIR}/" DESTINATION "${DIR}" COMPONENT Runtime_base PATTERN ${SVN_FOLDER_PATTERN} EXCLUDE PATTERN "conf/import-tmpl" EXCLUDE ) else() # create empty directory install( CODE "file(MAKE_DIRECTORY "${ENV}${CMAKE_INSTALL_PREFIX}/${DIR}")" COMPONENT Runtime_base ) endif() endforeach() endif( INSTALL_COMPONENT_RUNTIME ) if( INSTALL_COMPONENT_DEVELOPMENT ) install( FILES ${DEVELOPMENT_FILES} DESTINATION "." COMPONENT Development_base ) foreach( DIR IN ITEMS ${DEVELOPMENT_DIRECTORIES} ) install( DIRECTORY "${DIR}/" DESTINATION "${DIR}" COMPONENT Development_base PATTERN ${SVN_FOLDER_PATTERN} EXCLUDE ) endforeach() endif( INSTALL_COMPONENT_DEVELOPMENT )endif()if( INSTALL_COMPONENT_RUNTIME ) # templates set( _TEMPLATES "conf/import-tmpl" "conf/import" "conf/msg_conf/import-tmpl" "conf/msg_conf/import" "db/import-tmpl" "db/import" ) set( INSTALL_TEMPLATES_FILE "${CMAKE_CURRENT_BINARY_DIR}/InstallTemplates.cmake" ) file( WRITE "${INSTALL_TEMPLATES_FILE}" "macro( INSTALL_TEMPLATE _SRC _DST )n" " set( SRC "${CMAKE_CURRENT_SOURCE_DIR}/${_SRC}" )n" " set( DST "${CMAKE_INSTALL_PREFIX}/${_DST}" )n" " if( EXISTS "${DST}" )n" " message( "-- Already exists: ${DST}" )n" " else()n" " message( "-- Installing template: ${DST}" )n" " execute_process( COMMAND "${CMAKE_COMMAND}" -E copy "${SRC}" "${DST}" )n" " endif()n" "endmacro()n" ) while( _TEMPLATES ) list( GET _TEMPLATES 0 _SRC ) list( GET _TEMPLATES 1 _DST ) list( REMOVE_AT _TEMPLATES 0 1 ) if( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_SRC}" ) file( GLOB _PATHS "${CMAKE_CURRENT_SOURCE_DIR}/${_SRC}/*" ) foreach( _PATH IN ITEMS ${_PATHS} ) string( REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/${_SRC}/" "" _PATH "${_PATH}" ) if( NOT "${_PATH}" MATCHES "${SVN_FOLDER_PATTERN}" ) list( APPEND _TEMPLATES "${_SRC}/${_PATH}" "${_DST}/${_PATH}" ) endif() endforeach() else() file( APPEND "${INSTALL_TEMPLATES_FILE}" "INSTALL_TEMPLATE( "${_SRC}" "${_DST}" )n" ) endif() endwhile() install( SCRIPT "${INSTALL_TEMPLATES_FILE}" COMPONENT Runtime_templates )endif( INSTALL_COMPONENT_RUNTIME )## sources#set( TARGET_LIST CACHE INTERNAL "" )add_subdirectory( 3rdparty )add_subdirectory( src )###################################################################### final checks and warnings#if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) message( WARNING "64bit should work, but is not recommended." )elseif( NOT CMAKE_SIZEOF_VOID_P EQUAL 4 ) message( FATAL_ERROR "unexpected architecture (CMAKE_SIZEOF_VOID_P is ${CMAKE_SIZEOF_VOID_P})" )endif()list( LENGTH TARGET_LIST _LEN )if( _LEN EQUAL 0 ) message( FATAL_ERROR "no targets available" )endif()message( STATUS "Available targets:" )foreach( _TARGET IN ITEMS ${TARGET_LIST} ) message( STATUS "t${_TARGET}" )endforeach()my cmake list Quote Share this post Link to post Share on other sites
sbk_ 30 Posted November 6, 2014 check version files Harmony '-' Quote Share this post Link to post Share on other sites
Alexandria 53 Posted November 6, 2014 I would not use this patch, even if you update it, people can still use wpe. Quote Share this post Link to post Share on other sites
Unsung 0 Posted November 8, 2014 @Alexandria I think hercules can block wpe? Do you have patch for updated svn of hercules? Quote Share this post Link to post Share on other sites
Alexandria 53 Posted November 8, 2014 yes, you can use default anti wpe of hercules. Quote Share this post Link to post Share on other sites
Unsung 0 Posted November 8, 2014 And harmony patch for latest hercules? Quote Share this post Link to post Share on other sites
Unsung 0 Posted November 15, 2014 Update please! Quote Share this post Link to post Share on other sites
nasagnilac 1 Posted November 25, 2014 ossi0110 Can you also make a Harmony Patch for the latest rAthena or rAmod? Willing to pay for 15$ - 20$ Quote Share this post Link to post Share on other sites
keough 36 Posted December 8, 2014 (edited) Hello i have a error on compiling anyone can help me with these? here is the error on Char-server And here is the error for login-server Please help me solve this problem in compiling thank you! Edited December 8, 2014 by keough Quote Share this post Link to post Share on other sites
ShankS 0 Posted December 17, 2014 @Alexandria I think hercules can block wpe? Do you have patch for updated svn of hercules? yes, you can use default anti wpe of hercules. any Guide Quote Share this post Link to post Share on other sites