diff options
author | Xanadu <none@none> | 2010-09-07 01:26:57 +0200 |
---|---|---|
committer | Xanadu <none@none> | 2010-09-07 01:26:57 +0200 |
commit | 220c20729441931d26626f4370bbb613a9185e9e (patch) | |
tree | d93174fdc1f9e2e556aa4ef035657023063f08b2 /cmake | |
parent | da5569bee68be1dcd416cdbca7584f9ef5e739ee (diff) |
BuildSystem/Windows: * Added 5.1.50 (GA) MySQL client sources for crosscompiling (or lazy) windows people.
* Added an option to autosearch for your own installed MySQL as before. Note that default setting is to use the internal MySQL.
* You can now build 32-bit even if your MySQL is x64 and vice versa.
* Recommended MySQL server version for use with provided MySQL client sources is 5.1.x.
* If your server version is different, let CMake autofind and use it instead (check EXTERNAL_MYSQL option)
--HG--
branch : trunk
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/macros/FindMySQL.cmake | 121 | ||||
-rw-r--r-- | cmake/options.cmake | 23 | ||||
-rw-r--r-- | cmake/showoptions.cmake | 9 |
3 files changed, 90 insertions, 63 deletions
diff --git a/cmake/macros/FindMySQL.cmake b/cmake/macros/FindMySQL.cmake index bc4edaf1c24..120fe19ae85 100644 --- a/cmake/macros/FindMySQL.cmake +++ b/cmake/macros/FindMySQL.cmake @@ -62,30 +62,34 @@ if( UNIX ) endif( MYSQL_CONFIG ) endif( UNIX ) -find_path(MYSQL_INCLUDE_DIR - NAMES - mysql.h - PATHS - ${MYSQL_ADD_INCLUDE_PATH} - /usr/include - /usr/include/mysql - /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.1/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.1;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/include" - "$ENV{ProgramFiles}/MySQL/*/include" - "$ENV{SystemDrive}/MySQL/*/include" - "c:/msys/local/include" - DOC - "Specify the directory containing mysql.h." -) +if( EXTERNAL_MYSQL ) + find_path(MYSQL_INCLUDE_DIR + NAMES + mysql.h + PATHS + ${MYSQL_ADD_INCLUDE_PATH} + /usr/include + /usr/include/mysql + /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.1/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.1;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/include" + "$ENV{ProgramFiles}/MySQL/*/include" + "$ENV{SystemDrive}/MySQL/*/include" + "c:/msys/local/include" + DOC + "Specify the directory containing mysql.h." + ) +else( EXTERNAL_MYSQL ) + set(MYSQL_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/dep/mysqllite/include) +endif( EXTERNAL_MYSQL ) if( UNIX ) foreach(LIB ${MYSQL_ADD_LIBRARIES}) @@ -105,24 +109,28 @@ endforeach(LIB ${MYSQL_ADD_LIBRARY}) endif( UNIX ) if( WIN32 ) - find_library( MYSQL_LIBRARY - NAMES - 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.1/lib/opt" - "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.1;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" - "$ENV{ProgramFiles}/MySQL/*/lib/opt" - "$ENV{SystemDrive}/MySQL/*/lib/opt" - "c:/msys/local/include" - DOC "Specify the location of the mysql library here." - ) + if( EXTERNAL_MYSQL ) + find_library( MYSQL_LIBRARY + NAMES + 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.1/lib/opt" + "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.1;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" + "$ENV{ProgramFiles}/MySQL/*/lib/opt" + "$ENV{SystemDrive}/MySQL/*/lib/opt" + "c:/msys/local/include" + DOC "Specify the location of the mysql library here." + ) + else( EXTERNAL_MYSQL ) + set(MYSQL_LIBRARY libmysql) + endif( EXTERNAL_MYSQL ) endif( WIN32 ) # On Windows you typically don't need to include any extra libraries @@ -142,15 +150,20 @@ else( NOT WIN32 ) set( MYSQL_EXTRA_LIBRARIES "" ) endif( NOT WIN32 ) -if( MYSQL_LIBRARY ) - if( MYSQL_INCLUDE_DIR ) - set( MYSQL_FOUND 1 ) - 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.") - 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 ) +if( EXTERNAL_MYSQL ) + if( MYSQL_LIBRARY ) + if( MYSQL_INCLUDE_DIR ) + set( MYSQL_FOUND 1 ) + 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 or use internal MySQL.") + 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 or use internal MySQL.") + endif( MYSQL_LIBRARY ) +else( EXTERNAL_MYSQL ) + set( MYSQL_FOUND 1 ) + message(STATUS "Using internal MySQL.") +endif( EXTERNAL_MYSQL ) diff --git a/cmake/options.cmake b/cmake/options.cmake index 5a580eff290..1e7374d1287 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -8,12 +8,17 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -option(SERVERS "Build worldserver and authserver" 1) -option(SCRIPTS "Build core with scripts included" 1) -option(TOOLS "Build map/vmap extraction/assembler tools" 0) -option(USE_SCRIPTPCH "Use precompiled headers when compiling scripts" 1) -option(USE_COREPCH "Use precompiled headers when compiling servers" 1) -option(USE_SFMT "Use SFMT as random numbergenerator" 0) -option(WITH_WARNINGS "Show all warnings during compile" 1) -option(WITH_COREDEBUG "Include additional debug-code in core" 0) -option(WITH_SQL "Copy SQL files during installation" 0) +option(SERVERS "Build worldserver and authserver" 1) +option(SCRIPTS "Build core with scripts included" 1) +option(TOOLS "Build map/vmap extraction/assembler tools" 0) +option(USE_SCRIPTPCH "Use precompiled headers when compiling scripts" 1) +option(USE_COREPCH "Use precompiled headers when compiling servers" 1) +option(USE_SFMT "Use SFMT as random numbergenerator" 0) +if(WIN32) + option(EXTERNAL_MYSQL "Use your own installed MySQL instead of the internal one" 0) +else(WIN32) + set(EXTERNAL_MYSQL 0) +endif(WIN32) +option(WITH_WARNINGS "Show all warnings during compile" 1) +option(WITH_COREDEBUG "Include additional debug-code in core" 0) +option(WITH_SQL "Copy SQL files during installation" 0) diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake index 00b1921cc38..41fecc052fe 100644 --- a/cmake/showoptions.cmake +++ b/cmake/showoptions.cmake @@ -63,6 +63,15 @@ else() message("* Use SFMT for RNG : No (default)") endif() +if( WIN32 ) + if( EXTERNAL_MYSQL ) + message("* Use external MySQL : Yes") + add_definitions(-DUSE_SFMT_FOR_RNG) + else() + message("* Use external MySQL : No (default)") + endif() +endif( WIN32 ) + if( WITH_WARNINGS ) message("* Show all warnings : Yes") else() |