From ee1b174a27971498d6d6ea197f5f4dc6f7b14963 Mon Sep 17 00:00:00 2001 From: Foereaper Date: Sat, 21 Mar 2015 02:41:57 +0100 Subject: [PATCH] [Cleanup] Part 1 This is the first of several cleanup commits, specifically directed towards the dependencies. This commits removes the old, deprecate precompiled openssl and mysql libraries, as well as started restructuring of shared and deps folder. This has not been tested on Linux yet, and the pre-built SLN files have not yet been updated. --- CMakeLists.txt | 31 +-- cmake/FindMySQL.cmake | 96 +++++-- cmake/FindOpenSSL.cmake | 296 ++++++++++++++------- dep | 2 +- src/game/CMakeLists.txt | 4 +- src/game/WorldHandlers/AddonHandler.cpp | 2 +- src/game/WorldHandlers/MiscHandler.cpp | 2 +- src/game/WorldHandlers/UpdateData.cpp | 2 +- src/game/vmap/CMakeLists.txt | 2 +- src/mangosd/CMakeLists.txt | 23 +- src/realmd | 2 +- src/shared/Auth/AuthCrypt.cpp | 30 +-- src/shared/Auth/AuthCrypt.h | 27 +- src/shared/Auth/{Hmac.cpp => HMACSHA1.cpp} | 15 +- src/shared/Auth/{Hmac.h => HMACSHA1.h} | 14 +- src/shared/CMakeLists.txt | 66 +---- src/shared/Database/DatabaseMysql.h | 4 +- src/shared/Database/Field.h | 4 - src/shared/Database/QueryResultMysql.h | 5 +- src/shared/Util.cpp | 2 +- src/tools/CMakeLists.txt | 2 +- src/tools/Movemap-Generator/CMakeLists.txt | 5 +- src/tools/vmap-assembler/CMakeLists.txt | 3 +- 23 files changed, 361 insertions(+), 278 deletions(-) rename src/shared/Auth/{Hmac.cpp => HMACSHA1.cpp} (88%) rename src/shared/Auth/{Hmac.h => HMACSHA1.h} (90%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 87a49c41..cbe5aeca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -201,31 +201,20 @@ else() include(cmake/ImportACE.cmake) endif() -# Win32 delivered packages -if(WIN32) - set(MYSQL_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/dep/include/mysql") - set(MYSQL_LIBRARY "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libmySQL.lib") - set(MYSQL_DEBUG_LIBRARY "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libmySQL.lib") - set(OPENSSL_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/dep/include/openssl") - set(OPENSSL_LIBRARIES "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libeay32.lib") - set(OPENSSL_DEBUG_LIBRARIES "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libeay32.lib") - # zlib is build +# Required packages to build +find_package(OpenSSL REQUIRED) + +if(POSTGRESQL) + find_package(PostgreSQL REQUIRED) + if(POSTGRESQL_FOUND) + include_directories(${POSTGRESQL_INCLUDE_DIRS}) + endif(POSTGRESQL_FOUND) +else() + find_package(MySQL REQUIRED) endif() # *nix-specific packages if(UNIX) - if(POSTGRESQL) - find_package(PostgreSQL REQUIRED) - - if(POSTGRESQL_FOUND) - include_directories(${POSTGRESQL_INCLUDE_DIRS}) - endif(POSTGRESQL_FOUND) - - else() - find_package(MySQL REQUIRED) - endif() - - find_package(OpenSSL REQUIRED) find_package(ZLIB REQUIRED) endif() diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake index ae7db0bb..7cf87606 100644 --- a/cmake/FindMySQL.cmake +++ b/cmake/FindMySQL.cmake @@ -72,51 +72,95 @@ find_path(MYSQL_INCLUDE_DIR /usr/local/include /usr/local/include/mysql /usr/local/mysql/include - "C:/Program Files/MySQL/include" - "C:/Program Files/MySQL/MySQL Server 5.0/include" + "C:/Program Files/MySQL/MySQL Server 5.6/include" + "C:/Program Files/MySQL/MySQL Server 5.5/include" "C:/Program Files/MySQL/MySQL Server 5.1/include" + "C:/Program Files/MySQL/MySQL Server 5.0/include" + "C:/Program Files/MySQL/include" + "C:/Program Files (x86)/MySQL/MySQL Server 5.6/include" + "C:/Program Files (x86)/MySQL/MySQL Server 5.5/include" + "C:/Program Files (x86)/MySQL/MySQL Server 5.1/include" + "C:/Program Files (x86)/MySQL/MySQL Server 5.0/include" + "C:/Program Files (x86)/MySQL/include" "C:/MySQL/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/include" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/include" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include" + "$ENV{ProgramFiles}/MySQL/*/include" + "$ENV{SystemDrive}/MySQL/*/include" "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/include" DOC "Specify the directory containing mysql.h." ) if( UNIX ) -foreach(LIB ${MYSQL_ADD_LIBRARIES}) - find_library( MYSQL_LIBRARY - NAMES - mysql libmysql ${LIB} - PATHS - ${MYSQL_ADD_LIBRARIES_PATH} - /usr/lib - /usr/lib/mysql - /usr/local/lib - /usr/local/lib/mysql - /usr/local/mysql/lib - DOC "Specify the location of the mysql library here." - ) -endforeach(LIB ${MYSQL_ADD_LIBRARY}) + foreach(LIB ${MYSQL_ADD_LIBRARIES}) + find_library( MYSQL_LIBRARY + NAMES + mysql libmysql ${LIB} + PATHS + ${MYSQL_ADD_LIBRARIES_PATH} + /usr/lib + /usr/lib/mysql + /usr/local/lib + /usr/local/lib/mysql + /usr/local/mysql/lib + DOC "Specify the location of the mysql library here." + ) + endforeach(LIB ${MYSQL_ADD_LIBRARY}) endif( UNIX ) if( WIN32 ) find_library( MYSQL_LIBRARY NAMES - mysql libmysql ${LIB} + libmysql PATHS ${MYSQL_ADD_LIBRARIES_PATH} - "C:/Program Files/MySQL/lib" - "C:/Program Files/MySQL/MySQL Server 5.0/lib/opt" + "C:/Program Files/MySQL/MySQL Server 5.6/lib" + "C:/Program Files/MySQL/MySQL Server 5.6/lib/opt" + "C:/Program Files/MySQL/MySQL Server 5.5/lib" + "C:/Program Files/MySQL/MySQL Server 5.5/lib/opt" + "C:/Program Files/MySQL/MySQL Server 5.1/lib" "C:/Program Files/MySQL/MySQL Server 5.1/lib/opt" + "C:/Program Files/MySQL/MySQL Server 5.0/lib" + "C:/Program Files/MySQL/MySQL Server 5.0/lib/opt" + "C:/Program Files/MySQL/lib" + "C:/Program Files (x86)/MySQL/MySQL Server 5.6/lib" + "C:/Program Files (x86)/MySQL/MySQL Server 5.6/lib/opt" + "C:/Program Files (x86)/MySQL/MySQL Server 5.5/lib" + "C:/Program Files (x86)/MySQL/MySQL Server 5.5/lib/opt" + "C:/Program Files (x86)/MySQL/MySQL Server 5.1/lib" + "C:/Program Files (x86)/MySQL/MySQL Server 5.1/lib/opt" + "C:/Program Files (x86)/MySQL/MySQL Server 5.0/lib" + "C:/Program Files (x86)/MySQL/MySQL Server 5.0/lib/opt" + "C:/Program Files (x86)/MySQL/lib" "C:/MySQL/lib/debug" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/lib" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" + "$ENV{ProgramFiles}/MySQL/*/lib/opt" + "$ENV{SystemDrive}/MySQL/*/lib/opt" "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/lib" DOC "Specify the location of the mysql library here." ) endif( WIN32 ) @@ -144,9 +188,9 @@ if( MYSQL_LIBRARY ) message(STATUS "Found MySQL library: ${MYSQL_LIBRARY}") message(STATUS "Found MySQL headers: ${MYSQL_INCLUDE_DIR}") else( MYSQL_INCLUDE_DIR ) - message(FATAL_ERROR "Could not find MySQL headers! Please install the development-libraries and headers.") + message(FATAL_ERROR "Could not find MySQL headers! Please install the development libraries and headers") endif( MYSQL_INCLUDE_DIR ) mark_as_advanced( MYSQL_FOUND MYSQL_LIBRARY MYSQL_EXTRA_LIBRARIES MYSQL_INCLUDE_DIR ) else( MYSQL_LIBRARY ) - message(FATAL_ERROR "Could not find the MySQL libraries! Please install the development-libraries and headers.") -endif( MYSQL_LIBRARY ) + message(FATAL_ERROR "Could not find the MySQL libraries! Please install the development libraries and headers") +endif( MYSQL_LIBRARY ) \ No newline at end of file diff --git a/cmake/FindOpenSSL.cmake b/cmake/FindOpenSSL.cmake index d15f8a13..78c3a313 100644 --- a/cmake/FindOpenSSL.cmake +++ b/cmake/FindOpenSSL.cmake @@ -1,107 +1,221 @@ +# - Try to find the OpenSSL encryption library +# Once done this will define # -# Find the OpenSSL client includes and library +# OPENSSL_ROOT_DIR - Set this variable to the root installation of OpenSSL # +# Read-Only variables: +# OPENSSL_FOUND - system has the OpenSSL library +# OPENSSL_INCLUDE_DIR - the OpenSSL include directory +# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL -# This module defines -# OPENSSL_INCLUDE_DIR, where to find openssl.h -# OPENSSL_LIBRARIES, the libraries to link against to connect to MySQL -# OPENSSL_FOUND, if false, you cannot build anything that requires MySQL. +#============================================================================= +# Copyright 2006-2009 Kitware, Inc. +# Copyright 2006 Alexander Neundorf +# Copyright 2009-2010 Mathieu Malaterre +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) -# also defined, but not for general use are -# OPENSSL_LIBRARY, where to find the MySQL library. +# http://www.slproweb.com/products/Win32OpenSSL.html -if( OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES ) - # in cache already - set(OPENSSL_FOUND 1) -else( OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES ) - set(OPENSSL_FOUND 0) +SET(_OPENSSL_ROOT_HINTS + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]" + ) - if(WIN32) - if(PLATFORM MATCHES X64) - set(TMP_OPENSSL_INCLUDE_DIR - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;InstallLocation]/include/openssl" - ) - set(TMP_OPENSSL_LIBRARIES - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;InstallLocation]/lib" +IF(PLATFORM EQUAL 64) + SET(_OPENSSL_ROOT_PATHS + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;InstallLocation]" + "C:/OpenSSL-Win64/" + "C:/OpenSSL/" + ) +ELSE() + SET(_OPENSSL_ROOT_PATHS + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]" + "C:/OpenSSL/" + ) +ENDIF() + +FIND_PATH(OPENSSL_ROOT_DIR + NAMES + include/openssl/ssl.h + HINTS + ${_OPENSSL_ROOT_HINTS} + PATHS + ${_OPENSSL_ROOT_PATHS} +) +MARK_AS_ADVANCED(OPENSSL_ROOT_DIR) + +# Re-use the previous path: +FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h + ${OPENSSL_ROOT_DIR}/include +) + +IF(WIN32 AND NOT CYGWIN) + # MINGW should go here too + IF(MSVC) + # /MD and /MDd are the standard values - if someone wants to use + # others, the libnames have to change here too + # use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b + # TODO: handle /MT and static lib + # In Visual C++ naming convention each of these four kinds of Windows libraries has it's standard suffix: + # * MD for dynamic-release + # * MDd for dynamic-debug + # * MT for static-release + # * MTd for static-debug + + # Implementation details: + # We are using the libraries located in the VC subdir instead of the parent directory eventhough : + # libeay32MD.lib is identical to ../libeay32.lib, and + # ssleay32MD.lib is identical to ../ssleay32.lib + + FIND_LIBRARY(LIB_EAY_DEBUG + NAMES + libeay32MDd libeay32 + PATHS + ${OPENSSL_ROOT_DIR}/lib/VC + ) + + FIND_LIBRARY(LIB_EAY_RELEASE + NAMES + libeay32MD libeay32 + PATHS + ${OPENSSL_ROOT_DIR}/lib/VC + ) + + FIND_LIBRARY(SSL_EAY_DEBUG + NAMES + ssleay32MDd ssleay32 ssl + PATHS + ${OPENSSL_ROOT_DIR}/lib/VC + ) + + FIND_LIBRARY(SSL_EAY_RELEASE + NAMES + ssleay32MD ssleay32 ssl + PATHS + ${OPENSSL_ROOT_DIR}/lib/VC + ) + + if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE ) + set( OPENSSL_LIBRARIES + optimized ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE} + debug ${SSL_EAY_DEBUG} ${LIB_EAY_DEBUG} ) else() - set(TMP_OPENSSL_INCLUDE_DIR - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/include/openssl" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/include/openssl" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/include/openssl" - ) - set(TMP_OPENSSL_LIBRARIES - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/lib" + set( OPENSSL_LIBRARIES + ${SSL_EAY_RELEASE} + ${LIB_EAY_RELEASE} ) endif() - endif() - find_path(OPENSSL_INCLUDE_DIR - NAMES - ssl.h - PATHS - /usr/include - /usr/include/openssl - /usr/local/include - /usr/local/include/openssl - /usr/local/openssl/include - ${TMP_OPENSSL_INCLUDE_DIR} - DOC - "Specify the directory containing openssl.h." - ) + MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE LIB_EAY_DEBUG LIB_EAY_RELEASE) + ELSEIF(MINGW) - find_library(OPENSSL_LIBRARIES - NAMES - ssleay32 - ssl - PATHS - /usr/lib - /usr/lib/ssl - /usr/local/lib - /usr/local/lib/ssl - /usr/local/ssl/lib - ${TMP_OPENSSL_LIBRARIES} - DOC "Specify the OpenSSL library here." - ) - - if( WIN32 ) - find_library(OPENSSL_EXTRA_LIBRARIES - NAMES - libeay32 - PATHS - ${TMP_OPENSSL_LIBRARIES} - DOC - "if more libraries are necessary to link in a OpenSSL client, specify them here." - ) - endif( WIN32 ) - - if( UNIX ) - find_library(OPENSSL_EXTRA_LIBRARIES + # same player, for MingW + FIND_LIBRARY(LIB_EAY NAMES - crypto + libeay32 PATHS - /usr/lib - /usr/lib/ssl - /usr/local/lib - /usr/local/lib/ssl - /usr/local/ssl/lib - ${TMP_OPENSSL_LIBRARIES} - DOC "if more libraries are necessary to link in a OpenSSL client, specify them here." + ${OPENSSL_ROOT_DIR}/lib/MinGW ) - endif() - if( OPENSSL_LIBRARIES ) - if( OPENSSL_INCLUDE_DIR ) - set( OPENSSL_FOUND 1 ) - message(STATUS "Found OpenSSL library: ${OPENSSL_LIBRARIES}") - message(STATUS "Found OpenSSL headers: ${OPENSSL_INCLUDE_DIR}") - else ( OPENSSL_INCLUDE_DIR ) - message(FATAL_ERROR "Could not find OpenSSL headers! Please install the development-headers") - endif( OPENSSL_INCLUDE_DIR ) - else( OPENSSL_LIBRARIES ) - message(FATAL_ERROR "Could not find OpenSSL libraries! Please install the library before continuing") - endif( OPENSSL_LIBRARIES ) - mark_as_advanced( OPENSSL_FOUND OPENSSL_LIBRARIES OPENSSL_EXTRA_LIBRARIES OPENSSL_INCLUDE_DIR ) -endif( OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES ) + FIND_LIBRARY(SSL_EAY NAMES + NAMES + ssleay32 + PATHS + ${OPENSSL_ROOT_DIR}/lib/MinGW + ) + + MARK_AS_ADVANCED(SSL_EAY LIB_EAY) + + set( OPENSSL_LIBRARIES + ${SSL_EAY} + ${LIB_EAY} + ) + ELSE(MSVC) + # Not sure what to pick for -say- intel, let's use the toplevel ones and hope someone report issues: + FIND_LIBRARY(LIB_EAY + NAMES + libeay32 + PATHS + ${OPENSSL_ROOT_DIR}/lib + ${OPENSSL_ROOT_DIR}/lib/VC + ) + + FIND_LIBRARY(SSL_EAY + NAMES + ssleay32 + PATHS + ${OPENSSL_ROOT_DIR}/lib + ${OPENSSL_ROOT_DIR}/lib/VC + ) + MARK_AS_ADVANCED(SSL_EAY LIB_EAY) + + SET( OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} ) + ENDIF(MSVC) +ELSE(WIN32 AND NOT CYGWIN) + FIND_LIBRARY(OPENSSL_SSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD) + FIND_LIBRARY(OPENSSL_CRYPTO_LIBRARIES NAMES crypto) + MARK_AS_ADVANCED(OPENSSL_CRYPTO_LIBRARIES OPENSSL_SSL_LIBRARIES) + + SET(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARIES}) + +ENDIF(WIN32 AND NOT CYGWIN) + +if (NOT OPENSSL_INCLUDE_DIR) + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(OpenSSL DEFAULT_MSG + OPENSSL_LIBRARIES + OPENSSL_INCLUDE_DIR + ) +endif() + +if (OPENSSL_INCLUDE_DIR) + message( STATUS "Found OpenSSL library: ${OPENSSL_LIBRARIES}") + message( STATUS "Found OpenSSL headers: ${OPENSSL_INCLUDE_DIR}") + if (_OPENSSL_VERSION) + set(OPENSSL_VERSION "${_OPENSSL_VERSION}") + else (_OPENSSL_VERSION) + file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str + REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9][0-9][0-9][0-9].*") + + # The version number is encoded as 0xMNNFFPPS: major minor fix patch status + # The status gives if this is a developer or prerelease and is ignored here. + # Major, minor, and fix directly translate into the version numbers shown in + # the string. The patch field translates to the single character suffix that + # indicates the bug fix state, which 00 -> nothing, 01 -> a, 02 -> b and so + # on. + + string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]).*$" + "\\1;\\2;\\3;\\4;\\5" OPENSSL_VERSION_LIST "${openssl_version_str}") + list(GET OPENSSL_VERSION_LIST 0 OPENSSL_VERSION_MAJOR) + list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR) + list(GET OPENSSL_VERSION_LIST 2 OPENSSL_VERSION_FIX) + list(GET OPENSSL_VERSION_LIST 3 OPENSSL_VERSION_PATCH) + + string(REGEX REPLACE "^0(.)" "\\1" OPENSSL_VERSION_MINOR "${OPENSSL_VERSION_MINOR}") + string(REGEX REPLACE "^0(.)" "\\1" OPENSSL_VERSION_FIX "${OPENSSL_VERSION_FIX}") + + if (NOT OPENSSL_VERSION_PATCH STREQUAL "00") + # 96 is the ASCII code of 'a' minus 1 + math(EXPR OPENSSL_VERSION_PATCH_ASCII "${OPENSSL_VERSION_PATCH} + 96") + # Once anyone knows how OpenSSL would call the patch versions beyond 'z' + # this should be updated to handle that, too. This has not happened yet + # so it is simply ignored here for now. + string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING) + endif (NOT OPENSSL_VERSION_PATCH STREQUAL "00") + + set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}") + endif (_OPENSSL_VERSION) +endif (OPENSSL_INCLUDE_DIR) + +MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES) \ No newline at end of file diff --git a/dep b/dep index e5d23bfe..d5a6e40b 160000 --- a/dep +++ b/dep @@ -1 +1 @@ -Subproject commit e5d23bfee52c08188a59598cafb93ba06199ec87 +Subproject commit d5a6e40bebcfe931c04ba0d52ecbcc078598fc19 diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt index 71e5f172..00509373 100644 --- a/src/game/CMakeLists.txt +++ b/src/game/CMakeLists.txt @@ -31,7 +31,8 @@ include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/Tools" "${CMAKE_CURRENT_SOURCE_DIR}/vmap" "${CMAKE_CURRENT_SOURCE_DIR}/WorldHandlers" - "${CMAKE_SOURCE_DIR}/dep/include/g3dlite" + "${CMAKE_SOURCE_DIR}/dep/g3dlite" + "${CMAKE_SOURCE_DIR}/dep/zlib" "${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include" "${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour" "${CMAKE_SOURCE_DIR}/dep/recastnavigation/" @@ -41,6 +42,7 @@ include_directories( "${CMAKE_BINARY_DIR}" "${CMAKE_BINARY_DIR}/src/shared" "${MYSQL_INCLUDE_DIR}" + "${OPENSSL_INCLUDE_DIR}" "${ACE_INCLUDE_DIR}" ) diff --git a/src/game/WorldHandlers/AddonHandler.cpp b/src/game/WorldHandlers/AddonHandler.cpp index 43a62fa5..83f6ae9b 100644 --- a/src/game/WorldHandlers/AddonHandler.cpp +++ b/src/game/WorldHandlers/AddonHandler.cpp @@ -22,7 +22,7 @@ * and lore are copyrighted by Blizzard Entertainment, Inc. */ -#include "zlib/zlib.h" +#include #include "AddonHandler.h" #include "Database/DatabaseEnv.h" #include "Opcodes.h" diff --git a/src/game/WorldHandlers/MiscHandler.cpp b/src/game/WorldHandlers/MiscHandler.cpp index da7fea3f..aac893f9 100644 --- a/src/game/WorldHandlers/MiscHandler.cpp +++ b/src/game/WorldHandlers/MiscHandler.cpp @@ -22,7 +22,7 @@ * and lore are copyrighted by Blizzard Entertainment, Inc. */ -#include +#include #include "Common.h" #include "Language.h" #include "Database/DatabaseEnv.h" diff --git a/src/game/WorldHandlers/UpdateData.cpp b/src/game/WorldHandlers/UpdateData.cpp index 3f46f459..c876645b 100644 --- a/src/game/WorldHandlers/UpdateData.cpp +++ b/src/game/WorldHandlers/UpdateData.cpp @@ -22,7 +22,7 @@ * and lore are copyrighted by Blizzard Entertainment, Inc. */ -#include +#include #include "Common.h" #include "UpdateData.h" #include "ByteBuffer.h" diff --git a/src/game/vmap/CMakeLists.txt b/src/game/vmap/CMakeLists.txt index 66acaac7..8f4adbdf 100644 --- a/src/game/vmap/CMakeLists.txt +++ b/src/game/vmap/CMakeLists.txt @@ -38,7 +38,7 @@ mangos_source_group(${vmap_LIB_SRCS}) include_directories( ${ACE_INCLUDE_DIRS} ${MYSQL_INCLUDE_DIR} - ${CMAKE_SOURCE_DIR}/dep/include/g3dlite/ + ${CMAKE_SOURCE_DIR}/dep/g3dlite/ ${CMAKE_SOURCE_DIR}/src/framework/ ${CMAKE_SOURCE_DIR}/src/shared/ ${CMAKE_SOURCE_DIR}/src/game/ diff --git a/src/mangosd/CMakeLists.txt b/src/mangosd/CMakeLists.txt index 5d60f697..3f2a4738 100644 --- a/src/mangosd/CMakeLists.txt +++ b/src/mangosd/CMakeLists.txt @@ -97,6 +97,8 @@ target_link_libraries(${EXECUTABLE_NAME} shared framework g3dlite + ${MYSQL_LIBRARY} + ${OPENSSL_LIBRARIES} ) add_dependencies(${EXECUTABLE_NAME} game) @@ -110,20 +112,11 @@ endif() if(WIN32) target_link_libraries(${EXECUTABLE_NAME} zlib - optimized ${MYSQL_LIBRARY} - optimized ${OPENSSL_LIBRARIES} - debug ${MYSQL_DEBUG_LIBRARY} - debug ${OPENSSL_DEBUG_LIBRARIES} ) - if(PLATFORM MATCHES X86) - target_link_libraries(${EXECUTABLE_NAME}) - endif() endif() if(UNIX) target_link_libraries(${EXECUTABLE_NAME} - ${MYSQL_LIBRARY} - ${OPENSSL_LIBRARIES} ${OPENSSL_EXTRA_LIBRARIES} ${ZLIB_LIBRARIES} ) @@ -163,16 +156,16 @@ if(WIN32) if(MSVC) add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libeay32.dll" "${CMAKE_BINARY_DIR}/bin/$(Configuration)/" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/ssleay32.dll" "${CMAKE_BINARY_DIR}/bin/$(Configuration)/" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libmySQL.dll" "${CMAKE_BINARY_DIR}/bin/$(Configuration)/" + #COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libeay32.dll" "${CMAKE_BINARY_DIR}/bin/$(Configuration)/" + #COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/ssleay32.dll" "${CMAKE_BINARY_DIR}/bin/$(Configuration)/" + COMMAND ${CMAKE_COMMAND} -E copy "${MYSQL_INCLUDE_DIR}/../lib/libmysql.dll" "${CMAKE_BINARY_DIR}/bin/$(Configuration)/" ) elseif(XCODE) add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libeay32.dll" "${CMAKE_BINARY_DIR}/bin/" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/ssleay32.dll" "${CMAKE_BINARY_DIR}/bin/" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libmySQL.dll" "${CMAKE_BINARY_DIR}/bin/" + #COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/libeay32.dll" "${CMAKE_BINARY_DIR}/bin/" + #COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/dep/lib/${DEP_ARCH}/ssleay32.dll" "${CMAKE_BINARY_DIR}/bin/" + COMMAND ${CMAKE_COMMAND} -E copy "${MYSQL_INCLUDE_DIR}/../lib/libmysql.dll" "${CMAKE_BINARY_DIR}/bin/" ) endif() endif() diff --git a/src/realmd b/src/realmd index 15df5d42..de0584c9 160000 --- a/src/realmd +++ b/src/realmd @@ -1 +1 @@ -Subproject commit 15df5d42ae03cabe9cebfbd7534df8af4f739ecb +Subproject commit de0584c97ca9f0091491f05c67f487a5b520cabb diff --git a/src/shared/Auth/AuthCrypt.cpp b/src/shared/Auth/AuthCrypt.cpp index 44ca6784..0617cdb5 100644 --- a/src/shared/Auth/AuthCrypt.cpp +++ b/src/shared/Auth/AuthCrypt.cpp @@ -23,19 +23,18 @@ */ #include "AuthCrypt.h" -#include "Hmac.h" +#include "HMACSHA1.h" +#include "Log.h" +#include "BigNumber.h" + +const static size_t CRYPTED_SEND_LEN = 4; +const static size_t CRYPTED_RECV_LEN = 6; AuthCrypt::AuthCrypt() { _initialized = false; } -void AuthCrypt::Init() -{ - _send_i = _send_j = _recv_i = _recv_j = 0; - _initialized = true; -} - void AuthCrypt::DecryptRecv(uint8* data, size_t len) { if (!_initialized) @@ -72,21 +71,18 @@ void AuthCrypt::EncryptSend(uint8* data, size_t len) } } +void AuthCrypt::Init() +{ + _send_i = _send_j = _recv_i = _recv_j = 0; + _initialized = true; +} + void AuthCrypt::SetKey(uint8* key, size_t len) { _key.resize(len); std::copy(key, key + len, _key.begin()); } - AuthCrypt::~AuthCrypt() { -} - -void AuthCrypt::GenerateKey(uint8* key, BigNumber* bn) -{ - HmacHash hash; - hash.UpdateBigNumber(bn); - hash.Finalize(); - memcpy(key, hash.GetDigest(), SHA_DIGEST_LENGTH); -} +} \ No newline at end of file diff --git a/src/shared/Auth/AuthCrypt.h b/src/shared/Auth/AuthCrypt.h index 63a34c9a..5d467561 100644 --- a/src/shared/Auth/AuthCrypt.h +++ b/src/shared/Auth/AuthCrypt.h @@ -48,21 +48,18 @@ class AuthCrypt */ ~AuthCrypt(); - const static size_t CRYPTED_SEND_LEN = 4; /**< TODO */ - const static size_t CRYPTED_RECV_LEN = 6; /**< TODO */ - /** - * @brief - * - */ + * @brief + * + */ void Init(); /** - * @brief - * - * @param key - * @param len - */ + * @brief + * + * @param key + * @param len + */ void SetKey(uint8* key, size_t len); /** @@ -87,14 +84,6 @@ class AuthCrypt */ bool IsInitialized() { return _initialized; } - /** - * @brief - * - * @param - * @param - */ - static void GenerateKey(uint8*, BigNumber*); - private: std::vector _key; /**< TODO */ uint8 _send_i, _send_j, _recv_i, _recv_j; /**< TODO */ diff --git a/src/shared/Auth/Hmac.cpp b/src/shared/Auth/HMACSHA1.cpp similarity index 88% rename from src/shared/Auth/Hmac.cpp rename to src/shared/Auth/HMACSHA1.cpp index 6c3d51fa..cd80c091 100644 --- a/src/shared/Auth/Hmac.cpp +++ b/src/shared/Auth/HMACSHA1.cpp @@ -22,39 +22,40 @@ * and lore are copyrighted by Blizzard Entertainment, Inc. */ -#include "Auth/Hmac.h" +#include "Auth/HMACSHA1.h" #include "BigNumber.h" -HmacHash::HmacHash() +HMACSHA1::HMACSHA1() { uint8 temp[SEED_KEY_SIZE] = { 0x38, 0xA7, 0x83, 0x15, 0xF8, 0x92, 0x25, 0x30, 0x71, 0x98, 0x67, 0xB1, 0x8C, 0x4, 0xE2, 0xAA }; + memcpy(&m_key, &temp, SEED_KEY_SIZE); HMAC_CTX_init(&m_ctx); HMAC_Init_ex(&m_ctx, &m_key, SEED_KEY_SIZE, EVP_sha1(), NULL); } -HmacHash::~HmacHash() +HMACSHA1::~HMACSHA1() { memset(&m_key, 0x00, SEED_KEY_SIZE); HMAC_CTX_cleanup(&m_ctx); } -void HmacHash::UpdateBigNumber(BigNumber* bn) +void HMACSHA1::UpdateBigNumber(BigNumber* bn) { UpdateData(bn->AsByteArray(), bn->GetNumBytes()); } -void HmacHash::UpdateData(const uint8* data, int length) +void HMACSHA1::UpdateData(const uint8* data, int length) { HMAC_Update(&m_ctx, data, length); } -void HmacHash::Initialize() +void HMACSHA1::Initialize() { HMAC_Init_ex(&m_ctx, &m_key, SEED_KEY_SIZE, EVP_sha1(), NULL); } -void HmacHash::Finalize() +void HMACSHA1::Finalize() { uint32 length = 0; HMAC_Final(&m_ctx, m_digest, &length); diff --git a/src/shared/Auth/Hmac.h b/src/shared/Auth/HMACSHA1.h similarity index 90% rename from src/shared/Auth/Hmac.h rename to src/shared/Auth/HMACSHA1.h index 7513351a..de3e2a3d 100644 --- a/src/shared/Auth/Hmac.h +++ b/src/shared/Auth/HMACSHA1.h @@ -22,8 +22,8 @@ * and lore are copyrighted by Blizzard Entertainment, Inc. */ -#ifndef MANGOS_H_AUTH_HMAC -#define MANGOS_H_AUTH_HMAC +#ifndef _AUTH_HMACSHA1_H +#define _AUTH_HMACSHA1_H #include "Common.h" #include @@ -37,19 +37,19 @@ class BigNumber; * @brief * */ -class HmacHash +class HMACSHA1 { public: /** * @brief * */ - HmacHash(); + HMACSHA1(); /** * @brief * */ - ~HmacHash(); + ~HMACSHA1(); /** * @brief * @@ -78,13 +78,13 @@ class HmacHash * * @return uint8 */ - uint8* GetDigest() { return m_digest; } + uint8* GetDigest() { return (uint8*)m_digest; } /** * @brief * * @return int */ - int GetLength() { return SHA_DIGEST_LENGTH; } + int GetLength() { return SHA_DIGEST_LENGTH; }; private: HMAC_CTX m_ctx; /**< TODO */ uint8 m_key[SEED_KEY_SIZE]; /**< TODO */ diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index 5fe8dd00..d405cddf 100644 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -23,67 +23,21 @@ set(LIBRARY_NAME shared) -set(SRC_GRP_AUTH - Auth/AuthCrypt.cpp - Auth/AuthCrypt.h - Auth/BigNumber.cpp - Auth/BigNumber.h - Auth/Hmac.cpp - Auth/Hmac.h - Auth/md5.h - Auth/Sha1.cpp - Auth/Sha1.h -) +file(GLOB_RECURSE SRC_GRP_AUTH Auth/*.cpp Auth/*.h) -set(SRC_GRP_CONFIG - Config/Config.cpp - Config/Config.h -) +file(GLOB_RECURSE SRC_GRP_CONFIG Config/*.cpp Config/*.h) -set(SRC_GRP_DATABASE - Database/Database.cpp - Database/Database.h - Database/DatabaseEnv.h - Database/DatabaseImpl.h - Database/DatabaseMysql.cpp - Database/DatabaseMysql.h - Database/DatabasePostgre.cpp - Database/DatabasePostgre.h - Database/Field.cpp - Database/Field.h - Database/PGSQLDelayThread.h - Database/QueryResult.h - Database/QueryResultMysql.cpp - Database/QueryResultMysql.h - Database/QueryResultPostgre.cpp - Database/QueryResultPostgre.h - Database/SqlDelayThread.cpp - Database/SqlDelayThread.h - Database/SqlOperations.cpp - Database/SqlOperations.h - Database/SqlPreparedStatement.cpp - Database/SqlPreparedStatement.h - Database/SQLStorage.cpp - Database/SQLStorage.h - Database/SQLStorageImpl.h -) - -set(SRC_GRP_DATABASE_DBC - Database/DBCFileLoader.cpp - Database/DBCFileLoader.h - Database/DBCStore.h -) +file(GLOB_RECURSE SRC_GRP_DATABASE Database/*.cpp Database/*.h) set(SRC_GRP_LOG - Log.cpp Log.h + Log.cpp ) set(SRC_GRP_UTIL ByteBuffer.cpp ByteBuffer.h Errors.h - # dep/include/mersennetwister/MersenneTwister.h is part of this group in the VC 2012 file but it is not part of src/shared, so it is omitted here ProgressBar.cpp ProgressBar.h Timer.h @@ -97,7 +51,6 @@ set(LIBRARY_SRCS ${SRC_GRP_AUTH} ${SRC_GRP_CONFIG} ${SRC_GRP_DATABASE} - ${SRC_GRP_DATABASE_DBC} ${SRC_GRP_LOG} ${SRC_GRP_UTIL} Common.cpp @@ -127,7 +80,9 @@ source_group("Database" source_group("Database\\DataStores" FILES - ${SRC_GRP_DATABASE_DBC} + Database/DBCFileLoader.cpp + Database/DBCFileLoader.h + Database/DBCStore.h ) source_group("Log" @@ -159,10 +114,11 @@ endif() include_directories( "${CMAKE_CURRENT_SOURCE_DIR}" - "${CMAKE_SOURCE_DIR}/dep/include" + "${CMAKE_SOURCE_DIR}/dep" "${CMAKE_SOURCE_DIR}/src/framework" "${CMAKE_BINARY_DIR}" "${ACE_INCLUDE_DIR}" + "${OPENSSL_INCLUDE_DIR}" ) if(POSTGRESQL) @@ -177,8 +133,12 @@ add_library(${LIBRARY_NAME} STATIC ${LIBRARY_SRCS} ) +#target_link_libraries(${LIBRARY_NAME} ${OPENSSL_LIBRARIES}) + if(POSTGRESQL) target_link_libraries(${LIBRARY_NAME} ${PostgreSQL_LIBRARIES}) +else() + target_link_libraries(${LIBRARY_NAME} ${MYSQL_LIBRARY}) endif() if(NOT ACE_USE_EXTERNAL) diff --git a/src/shared/Database/DatabaseMysql.h b/src/shared/Database/DatabaseMysql.h index f9466ff5..a1c96486 100644 --- a/src/shared/Database/DatabaseMysql.h +++ b/src/shared/Database/DatabaseMysql.h @@ -32,12 +32,10 @@ #include "Policies/Singleton.h" #include #include +#include #ifdef WIN32 #include -#include -#else -#include #endif /** diff --git a/src/shared/Database/Field.h b/src/shared/Database/Field.h index 2ff45c7d..45faeb50 100644 --- a/src/shared/Database/Field.h +++ b/src/shared/Database/Field.h @@ -26,11 +26,7 @@ #define FIELD_H #include "Common.h" -#ifdef WIN32 -#include -#else #include -#endif /** * @brief diff --git a/src/shared/Database/QueryResultMysql.h b/src/shared/Database/QueryResultMysql.h index 78326479..2f32b97c 100644 --- a/src/shared/Database/QueryResultMysql.h +++ b/src/shared/Database/QueryResultMysql.h @@ -31,11 +31,10 @@ #ifdef WIN32 #include -#include -#else -#include #endif +#include + /** * @brief * diff --git a/src/shared/Util.cpp b/src/shared/Util.cpp index 6ee2a909..c23d44b4 100644 --- a/src/shared/Util.cpp +++ b/src/shared/Util.cpp @@ -26,7 +26,7 @@ #include "Timer.h" #include "utf8cpp/utf8.h" -#include "mersennetwister/MersenneTwister.h" +#include #include #include diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt index c95d005d..c2af286f 100644 --- a/src/tools/CMakeLists.txt +++ b/src/tools/CMakeLists.txt @@ -20,7 +20,7 @@ include_directories( "${CMAKE_SOURCE_DIR}/src/shared" "${CMAKE_SOURCE_DIR}/src/game/vmap/" - "${CMAKE_SOURCE_DIR}/dep/include/g3dlite/" + "${CMAKE_SOURCE_DIR}/dep/g3dlite/" "${CMAKE_SOURCE_DIR}/src/framework/" "${ACE_INCLUDE_DIR}" ) diff --git a/src/tools/Movemap-Generator/CMakeLists.txt b/src/tools/Movemap-Generator/CMakeLists.txt index 98e3a054..594dea5f 100644 --- a/src/tools/Movemap-Generator/CMakeLists.txt +++ b/src/tools/Movemap-Generator/CMakeLists.txt @@ -43,12 +43,13 @@ include_directories( "${CMAKE_SOURCE_DIR}/src/shared" "${CMAKE_SOURCE_DIR}/src/game" "${CMAKE_SOURCE_DIR}/src/game/vmap" - "${CMAKE_SOURCE_DIR}/dep/include/g3dlite" + "${CMAKE_SOURCE_DIR}/dep/g3dlite" + "${CMAKE_SOURCE_DIR}/dep/g3dlite/G3D" "${CMAKE_SOURCE_DIR}/src/framework" "${CMAKE_SOURCE_DIR}/src/game/WorldHandlers" "${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include" "${CMAKE_SOURCE_DIR}/dep/recastnavigation/Recast/Include" - "${CMAKE_SOURCE_DIR}/dep/src/zlib" + "${CMAKE_SOURCE_DIR}/dep/zlib" ) set(SOURCES diff --git a/src/tools/vmap-assembler/CMakeLists.txt b/src/tools/vmap-assembler/CMakeLists.txt index 9602128e..6b0f2c1a 100644 --- a/src/tools/vmap-assembler/CMakeLists.txt +++ b/src/tools/vmap-assembler/CMakeLists.txt @@ -30,7 +30,8 @@ add_definitions("-DNO_CORE_FUNCS") include_directories( "${CMAKE_SOURCE_DIR}/src/shared" "${CMAKE_SOURCE_DIR}/src/game/vmap/" - "${CMAKE_SOURCE_DIR}/dep/include/g3dlite/" + "${CMAKE_SOURCE_DIR}/dep/g3dlite/" + "${CMAKE_SOURCE_DIR}/dep/g3dlite/G3D" "${CMAKE_SOURCE_DIR}/src/framework/" "${ACE_INCLUDE_DIR}" )