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)