Warning, /frameworks/kdelibs4support/cmake/modules/FindMySQL.cmake is written in an unsupported language. File is not indexed.
0001 # - Try to find MySQL / MySQL Embedded library 0002 # Find the MySQL includes and client library 0003 # This module defines 0004 # MYSQL_INCLUDE_DIR, where to find mysql.h 0005 # MYSQL_LIBRARIES, the libraries needed to use MySQL. 0006 # MYSQL_LIB_DIR, path to the MYSQL_LIBRARIES 0007 # MYSQL_EMBEDDED_LIBRARIES, the libraries needed to use MySQL Embedded. 0008 # MYSQL_EMBEDDED_LIB_DIR, path to the MYSQL_EMBEDDED_LIBRARIES 0009 # MYSQL_FOUND, If false, do not try to use MySQL. 0010 # MYSQL_EMBEDDED_FOUND, If false, do not try to use MySQL Embedded. 0011 0012 # Copyright (c) 2006-2008, Jarosław Staniek <staniek@kde.org> 0013 # 0014 # Redistribution and use is allowed according to the terms of the BSD license. 0015 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 0016 0017 include(CheckCXXSourceCompiles) 0018 include(CMakePushCheckState) 0019 0020 if(WIN32) 0021 find_path(MYSQL_INCLUDE_DIR mysql.h 0022 PATHS 0023 $ENV{MYSQL_INCLUDE_DIR} 0024 $ENV{MYSQL_DIR}/include 0025 $ENV{ProgramFiles}/MySQL/*/include 0026 $ENV{SystemDrive}/MySQL/*/include 0027 ) 0028 else(WIN32) 0029 find_path(MYSQL_INCLUDE_DIR mysql.h 0030 PATHS 0031 $ENV{MYSQL_INCLUDE_DIR} 0032 $ENV{MYSQL_DIR}/include 0033 /usr/local/mysql/include 0034 /opt/mysql/mysql/include 0035 PATH_SUFFIXES 0036 mysql 0037 ) 0038 endif(WIN32) 0039 0040 if(WIN32) 0041 string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER) 0042 0043 # path suffix for debug/release mode 0044 # binary_dist: mysql binary distribution 0045 # build_dist: custom build 0046 if(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug") 0047 set(binary_dist debug) 0048 set(build_dist Debug) 0049 else(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug") 0050 ADD_DEFINITIONS(-DDBUG_OFF) 0051 set(binary_dist opt) 0052 set(build_dist Release) 0053 endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug") 0054 0055 # find_library(MYSQL_LIBRARIES NAMES mysqlclient 0056 find_library(MYSQL_LIBRARIES NAMES libmysql 0057 PATHS 0058 $ENV{MYSQL_DIR}/lib/${binary_dist} 0059 $ENV{MYSQL_DIR}/libmysql/${build_dist} 0060 $ENV{MYSQL_DIR}/client/${build_dist} 0061 $ENV{ProgramFiles}/MySQL/*/lib/${binary_dist} 0062 $ENV{SystemDrive}/MySQL/*/lib/${binary_dist} 0063 ) 0064 else(WIN32) 0065 # find_library(MYSQL_LIBRARIES NAMES mysqlclient 0066 find_library(MYSQL_LIBRARIES NAMES libmysql 0067 PATHS 0068 $ENV{MYSQL_DIR}/libmysql_r/.libs 0069 $ENV{MYSQL_DIR}/lib 0070 $ENV{MYSQL_DIR}/lib/mysql 0071 /usr/local/mysql/lib 0072 /opt/mysql/mysql/lib 0073 PATH_SUFFIXES 0074 mysql 0075 ) 0076 endif(WIN32) 0077 0078 if(WIN32) 0079 set(MYSQL_LIB_PATHS 0080 $ENV{MYSQL_DIR}/lib/opt 0081 $ENV{MYSQL_DIR}/client/release 0082 $ENV{ProgramFiles}/MySQL/*/lib/opt 0083 $ENV{SystemDrive}/MySQL/*/lib/opt 0084 ) 0085 find_library(MYSQL_LIBRARIES NAMES mysqlclient 0086 PATHS 0087 ${MYSQL_LIB_PATHS} 0088 ) 0089 else(WIN32) 0090 set(MYSQL_LIB_PATHS 0091 $ENV{MYSQL_DIR}/libmysql_r/.libs 0092 $ENV{MYSQL_DIR}/lib 0093 $ENV{MYSQL_DIR}/lib/mysql 0094 /usr/local/mysql/lib 0095 /opt/mysql/mysql/lib 0096 PATH_SUFFIXES 0097 mysql 0098 ) 0099 find_library(MYSQL_LIBRARIES NAMES mysqlclient 0100 PATHS 0101 ${MYSQL_LIB_PATHS} 0102 ) 0103 endif(WIN32) 0104 0105 find_library(MYSQL_EMBEDDED_LIBRARIES NAMES mysqld 0106 PATHS 0107 ${MYSQL_LIB_PATHS} 0108 ) 0109 0110 if(MYSQL_LIBRARIES) 0111 get_filename_component(MYSQL_LIB_DIR ${MYSQL_LIBRARIES} PATH) 0112 endif(MYSQL_LIBRARIES) 0113 0114 if(MYSQL_EMBEDDED_LIBRARIES) 0115 get_filename_component(MYSQL_EMBEDDED_LIB_DIR ${MYSQL_EMBEDDED_LIBRARIES} PATH) 0116 endif(MYSQL_EMBEDDED_LIBRARIES) 0117 0118 cmake_push_check_state() 0119 set( CMAKE_REQUIRED_INCLUDES ${MYSQL_INCLUDE_DIR} ) 0120 set( CMAKE_REQUIRED_LIBRARIES ${MYSQL_EMBEDDED_LIBRARIES} ) 0121 check_cxx_source_compiles( "#include <mysql.h>\nint main() { int i = MYSQL_OPT_USE_EMBEDDED_CONNECTION; }" HAVE_MYSQL_OPT_EMBEDDED_CONNECTION ) 0122 cmake_pop_check_state() 0123 0124 if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 0125 set(MYSQL_FOUND TRUE) 0126 message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}") 0127 else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 0128 set(MYSQL_FOUND FALSE) 0129 message(STATUS "MySQL not found.") 0130 endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 0131 0132 if(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION) 0133 set(MYSQL_EMBEDDED_FOUND TRUE) 0134 message(STATUS "Found MySQL Embedded: ${MYSQL_INCLUDE_DIR}, ${MYSQL_EMBEDDED_LIBRARIES}") 0135 else(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION) 0136 set(MYSQL_EMBEDDED_FOUND FALSE) 0137 message(STATUS "MySQL Embedded not found.") 0138 endif(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION) 0139 0140 mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES MYSQL_EMBEDDED_LIBRARIES)