- Full revert of r16105 and r16106.

* Merged changes up to eAthena 15094.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16110 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
eathenabot
2012-05-13 17:14:43 +00:00
parent 8c720a9ebd
commit 2f87c4dd0b
33 changed files with 88 additions and 144 deletions

View File

@@ -2,23 +2,19 @@
# macro to configure the use of local or system version of a package
# Uses:
# HAVE_LOCAL_${name} - is local version available?
# ${name}_LOCAL_DEPENDENCIES - dependencies of the local version
# ${name}_LOCAL_LIBRARIES - libraries of the local version
# ${name}_LOCAL_INCLUDE_DIRS - include directories of the local version
# ${name}_LOCAL_DEFINITIONS - definitions of the local version
# HAVE_SYSTEM_${name} - is system version available?
# ${name}_SYSTEM_DEPENDENCIES - dependencies of the system version
# ${name}_SYSTEM_LIBRARIES - libraries of the system version
# ${name}_SYSTEM_INCLUDE_DIRS - include directories of the system version
# ${name}_SYSTEM_DEFINITIONS - definitions of the system version
# Generates:
# WITH_LOCAL_${name} - use the local version of the package (only when local is available)
# WITH_${name} - use this package
# ${name}_DEPENDENCIES - dependencies
# ${name}_LIBRARIES - libraries
# ${name}_INCLUDE_DIRS - include directories
# ${name}_DEFINITIONS - definitions
macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
unset( ${name}_LIBRARIES CACHE )
unset( ${name}_INCLUDE_DIRS CACHE )
if( HAVE_LOCAL_${name} )
set( WITH_LOCAL_${name} ON
CACHE BOOL "use local version of ${name}" )
@@ -26,9 +22,14 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
unset( WITH_LOCAL_${name} CACHE )
endif()
if( WITH_LOCAL_${name} )
set( _type "LOCAL" )
message( STATUS "Configuring for local ${name}" )
set( ${name}_LIBRARIES ${${name}_LOCAL_LIBRARIES} )
set( ${name}_INCLUDE_DIRS ${${name}_LOCAL_INCLUDE_DIRS} )
message( STATUS "Configuring for local ${name} - done" )
elseif( HAVE_SYSTEM_${name} )
set( _type "SYSTEM" )
message( STATUS "Configuring for system ${name}" )
set( ${name}_LIBRARIES ${${name}_SYSTEM_LIBRARIES} )
set( ${name}_INCLUDE_DIRS ${${name}_SYSTEM_INCLUDE_DIRS} )
message( STATUS "Configuring for system ${name} - done" )
endif()
if( WITH_LOCAL_${name} OR HAVE_SYSTEM_${name} )
@@ -37,24 +38,12 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
else()
unset( WITH_${name} CACHE )
endif()
message( STATUS "Configuring for ${_type} ${name}" )
unset( ${name}_DEPENDENCIES CACHE )
unset( ${name}_LIBRARIES CACHE )
unset( ${name}_INCLUDE_DIRS CACHE )
unset( ${name}_DEFINITIONS CACHE )
set( ${name}_DEPENDENCIES ${${name}_${_type}_DEPENDENCIES}
CACHE PATH "${name} dependencies" )
set( ${name}_LIBRARIES ${${name}_${_type}_LIBRARIES}
set( ${name}_LIBRARIES ${${name}_LIBRARIES}
CACHE PATH "${name} libraries" )
set( ${name}_INCLUDE_DIRS ${${name}_${_type}_INCLUDE_DIRS}
set( ${name}_INCLUDE_DIRS ${${name}_INCLUDE_DIRS}
CACHE PATH "${name} include directories" )
set( ${name}_DEFINITIONS ${${name}_${_type}_DEFINITIONS}
CACHE PATH "${name} definitions" )
mark_as_advanced( ${name}_DEPENDENCIES )
mark_as_advanced( ${name}_LIBRARIES )
mark_as_advanced( ${name}_INCLUDE_DIRS )
mark_as_advanced( ${name}_DEFINITIONS )
message( STATUS "Configuring for ${_type} ${name} - done" )
endmacro( CONFIGURE_WITH_LOCAL_OR_SYSTEM )

View File

@@ -4,62 +4,37 @@
#
if( WIN32 )
message( STATUS "Detecting local MYSQL" )
# external_mysql
message( STATUS "Creating target external_mysql" )
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( _URL "${CMAKE_CURRENT_SOURCE_DIR}/mysql-5.5.24-winx64-libmysql.tar.gz" )
set( _URL_MD5 "36ae333e56ff6ae99de13edf893a1792" )
elseif( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set( _URL "${CMAKE_CURRENT_SOURCE_DIR}/mysql-5.5.24-win32-libmysql.tar.gz" )
set( _URL_MD5 "e9abe2055bba07995c89e66c7c6d1e2c" )
else()
message( FATAL_ERROR "Not supported: CMAKE_SIZEOF_VOID_P=${CMAKE_SIZEOF_VOID_P}" )
endif()
set( _INSTALL_DIR "${CMAKE_BINARY_DIR}/external/mysql" )
message( STATUS "Using URL=${_URL}" )
message( STATUS "Using URL_MD5=${_URL_MD5}" )
message( STATUS "Using INSTALL_DIR=${_INSTALL_DIR}" )
include(ExternalProject)
ExternalProject_Add( external_mysql
URL "${_URL}"
URL_MD5 "${_URL_MD5}"
SOURCE_DIR "${_INSTALL_DIR}"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
)
set( TARGET_LIST ${TARGET_LIST} external_mysql CACHE INTERNAL "" )
message( STATUS "Creating target external_mysql - done" )
# libmysql
message( STATUS "Creating import shared library libmysql" )
add_library( libmysql SHARED IMPORTED GLOBAL )
set_target_properties( libmysql PROPERTIES
IMPORTED_LOCATION "${_INSTALL_DIR}/lib/libmysql.dll"
IMPORTED_IMPLIB "${_INSTALL_DIR}/lib/libmysql.lib" )
message( STATUS "Creating import shared library libmysql - done" )
set( HAVE_LOCAL_MYSQL ON
CACHE BOOL "mysql client is available as a local copy" )
set( MYSQL_LOCAL_DEPENDENCIES external_mysql
CACHE STRING "local mysql dependencies" )
set( MYSQL_LOCAL_LIBRARIES libmysql
CACHE PATH "local mysql libraries" )
set( MYSQL_LOCAL_INCLUDE_DIRS "${_INSTALL_DIR}/include"
CACHE PATH "local mysql include directories" )
set( MYSQL_LOCAL_DEFINITIONS
CACHE STRING "local mysql definitions" )
mark_as_advanced( HAVE_LOCAL_MYSQL )
mark_as_advanced( MYSQL_LOCAL_DEPENDENCIES )
find_path( MYSQL_LOCAL_INCLUDE_DIRS "mysql.h"
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/include"
NO_DEFAULT_PATH )
find_library( MYSQL_LOCAL_LIBRARIES
NAMES libmysql
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/lib"
NO_DEFAULT_PATH )
mark_as_advanced( MYSQL_LOCAL_LIBRARIES )
mark_as_advanced( MYSQL_LOCAL_INCLUDE_DIRS )
mark_as_advanced( MYSQL_LOCAL_DEFINITIONS )
if( MYSQL_LOCAL_LIBRARIES AND MYSQL_LOCAL_INCLUDE_DIRS )
if( EXISTS "${MYSQL_LOCAL_INCLUDE_DIRS}/mysql_version.h" )
file( STRINGS "${MYSQL_LOCAL_INCLUDE_DIRS}/mysql_version.h" MYSQL_VERSION_H REGEX "^#define MYSQL_SERVER_VERSION[ \t]+\"[^\"]+\".*$" )
string( REGEX REPLACE "^.*MYSQL_SERVER_VERSION[ \t]+\"([^\"]+)\".*$" "\\1" MYSQL_SERVER_VERSION "${MYSQL_VERSION_H}" )
message( STATUS "Found MYSQL: ${MYSQL_LOCAL_LIBRARIES} (found version ${MYSQL_SERVER_VERSION})" )
else()
message( STATUS "Found MYSQL: ${MYSQL_LOCAL_LIBRARIES}" )
endif()
set( HAVE_LOCAL_MYSQL ON
CACHE BOOL "mysql client is available as a local copy")
mark_as_advanced( HAVE_LOCAL_MYSQL )
else()
foreach( _VAR MYSQL_LOCAL_LIBRARIES MYSQL_LOCAL_INCLUDE_DIRS )
if( NOT "${_VAR}" )
set( MISSING_VARS ${MISSING_VARS} ${_VAR} )
endif()
endforeach()
message( STATUS "Could NOT find MYSQL (missing: ${MISSING_VARS})" )
unset( HAVE_LOCAL_MYSQL CACHE )
endif()
message( STATUS "Detecting local MYSQL - done" )
else( WIN32 )
message( STATUS "Skipping local MYSQL (requires WIN32)" )
endif( WIN32 )
@@ -91,9 +66,3 @@ message( STATUS "Detecting system MYSQL - done" )
# configure
#
CONFIGURE_WITH_LOCAL_OR_SYSTEM( MYSQL )
if( WITH_LOCAL_MYSQL AND INSTALL_COMPONENT_RUNTIME )
install( FILES "${_INSTALL_DIR}/lib/libmysql.dll"
DESTINATION "."
COMPONENT Runtime_base )
endif( WITH_LOCAL_MYSQL AND INSTALL_COMPONENT_RUNTIME )

View File

@@ -76,7 +76,7 @@ extern MY_UNICASE_INFO *my_unicase_turkish[256];
#define MY_CS_UNICODE 128 /* is a charset is full unicode */
#define MY_CS_READY 256 /* if a charset is initialized */
#define MY_CS_AVAILABLE 512 /* If either compiled-in or loaded*/
#define MY_CS_CSSORT 1024 /* if case sensitive sort order */
#define MY_CS_CSSORT 1024 /* if case sensitive sort order */
#define MY_CHARSET_UNDEFINED 0

Binary file not shown.