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}" )