#At bzr+ssh://ahristov@stripped/bzrroot/public/connector-cpp-bzr/trunk/
198 andrey.hristov@stripped 2008-11-04
More sofisticated test for libmysql's version
modified:
CMakeLists.txt
FindMySQL.cmake
=== modified file 'CMakeLists.txt'
--- a/CMakeLists.txt 2008-11-04 14:15:38 +0000
+++ b/CMakeLists.txt 2008-11-04 17:29:47 +0000
@@ -26,7 +26,7 @@ if(COMMAND cmake_policy)
endif(COMMAND cmake_policy)
INCLUDE(CheckIncludeFiles)
-INCLUDE(CheckSymbolExists)
+INCLUDE(CheckFunctionExists)
INCLUDE(CheckTypeSize)
IF(CMAKE_COMPILER_IS_GNUCC)
=== modified file 'FindMySQL.cmake'
--- a/FindMySQL.cmake 2008-11-04 14:25:39 +0000
+++ b/FindMySQL.cmake 2008-11-04 17:29:47 +0000
@@ -105,8 +105,14 @@ ELSE (WIN32)
_MYSQL_CONFIG(MYSQL_LIB_DIR "(^| )-L" "--libs_r")
EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--version"
- OUTPUT_VARIABLE MYSQL_VERSION
+ OUTPUT_VARIABLE __MYSQL_VERSION
)
+ # Test it
+ #SET(__MYSQL_VERSION "4.0.10")
+ # trim the string
+ STRING(REGEX REPLACE "[\r\n]$" "" __MYSQL_VERSION "${__MYSQL_VERSION}")
+ STRING(REGEX MATCHALL "(4.1.[0-9]+|[5-9].[0-9]+.[0-9]+)" MYSQL_VERSION "${__MYSQL_VERSION}")
+
ELSE (MYSQL_CONFIG_EXECUTABLE)
FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient_r
PATHS
@@ -129,15 +135,19 @@ ENDIF (WIN32)
IF (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
+
IF (MYSQL_VERSION)
MESSAGE(STATUS "MySQL Version: ${MYSQL_VERSION}")
- IF(MYSQL_VERSION STRLESS "4.1.13" OR MYSQL_VERSION STRLESS "5.0.8" AND MYSQL_VERSION STRGREATER "4.1.99")
- MESSAGE(FATAL_ERROR "Versions < 4.1.13 (for MySQL 4.1.x) and < 5.0.7 for (MySQL 5.0.x) are not supported. Please update your libraries.")
- ENDIF(MYSQL_VERSION STRLESS "4.1.13" OR MYSQL_VERSION STRLESS "5.0.8" AND MYSQL_VERSION STRGREATER "4.1.99")
ELSE (MYSQL_VERSION)
- CHECK_SYMBOL_EXISTS("mysql_set_character_set" "${MYSQL_INCLUDE_DIR}/mysql.h" HAVE_SET_CHARSET)
+ IF(WIN32)
+ SET(CMAKE_REQUIRED_LIBRARIES "libmysql")
+ ELSE(WIN32)
+ SET(CMAKE_REQUIRED_LIBRARIES ${MYSQL_LIBRARIES})
+ ENDIF(WIN32)
+ CHECK_FUNCTION_EXISTS("mysql_set_character_set" HAVE_SET_CHARSET)
+ SET(CMAKE_REQUIRED_LIBRARIES)
IF (HAVE_SET_CHARSET)
- MESSAGE(STATUS "mysql_set_character_set found")
+ MESSAGE(STATUS "libmysql version - ok")
ELSE (HAVE_SET_CHARSET)
MESSAGE(FATAL_ERROR "Versions < 4.1.13 (for MySQL 4.1.x) and < 5.0.7 for (MySQL 5.0.x) are not supported. Please update your libraries.")
ENDIF (HAVE_SET_CHARSET)
| Thread |
|---|
| • bzr commit into connector-cpp-bzr branch (andrey.hristov:198) | andrey.hristov | 4 Nov |