List:Commits« Previous MessageNext Message »
From:andrey.hristov Date:November 4 2008 6:29pm
Subject:bzr commit into connector-cpp-bzr branch (andrey.hristov:198)
View as plain text  
#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.hristov4 Nov