Warning, /sdk/codevis/thirdparty/soci/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 
0019 if(WIN32)
0020    find_path(MYSQL_INCLUDE_DIR mysql.h
0021       PATHS
0022       $ENV{MYSQL_INCLUDE_DIR}
0023       $ENV{MYSQL_DIR}/include
0024       $ENV{ProgramFiles}/MySQL/*/include
0025       $ENV{SystemDrive}/MySQL/*/include
0026       $ENV{ProgramW6432}/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    if (${CMAKE_BUILD_TYPE})
0042     string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
0043    endif()
0044 
0045    # path suffix for debug/release mode
0046    # binary_dist: mysql binary distribution
0047    # build_dist: custom build
0048    if(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug")
0049       set(binary_dist debug)
0050       set(build_dist Debug)
0051    else(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug")
0052       ADD_DEFINITIONS(-DDBUG_OFF)
0053       set(binary_dist opt)
0054       set(build_dist Release)
0055    endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug")
0056 
0057 #   find_library(MYSQL_LIBRARIES NAMES mysqlclient
0058    set(MYSQL_LIB_PATHS
0059       $ENV{MYSQL_DIR}/lib/${binary_dist}
0060       $ENV{MYSQL_DIR}/libmysql/${build_dist}
0061       $ENV{MYSQL_DIR}/client/${build_dist}
0062       $ENV{ProgramFiles}/MySQL/*/lib/${binary_dist}
0063       $ENV{SystemDrive}/MySQL/*/lib/${binary_dist}
0064       $ENV{MYSQL_DIR}/lib/opt
0065       $ENV{MYSQL_DIR}/client/release
0066       $ENV{ProgramFiles}/MySQL/*/lib/opt
0067       $ENV{SystemDrive}/MySQL/*/lib/opt
0068       $ENV{ProgramW6432}/MySQL/*/lib
0069    )
0070    find_library(MYSQL_LIBRARIES NAMES libmysql
0071       PATHS
0072       ${MYSQL_LIB_PATHS}
0073    )
0074 else(WIN32)
0075 #   find_library(MYSQL_LIBRARIES NAMES mysqlclient
0076    set(MYSQL_LIB_PATHS
0077       $ENV{MYSQL_DIR}/libmysql_r/.libs
0078       $ENV{MYSQL_DIR}/lib
0079       $ENV{MYSQL_DIR}/lib/mysql
0080       /usr/local/mysql/lib
0081       /opt/mysql/mysql/lib
0082       $ENV{MYSQL_DIR}/libmysql_r/.libs
0083       $ENV{MYSQL_DIR}/lib
0084       $ENV{MYSQL_DIR}/lib/mysql
0085       /usr/local/mysql/lib
0086       /opt/mysql/mysql/lib
0087       PATH_SUFFIXES
0088       mysql
0089    )
0090    find_library(MYSQL_LIBRARIES NAMES mysqlclient
0091       PATHS
0092       ${MYSQL_LIB_PATHS}
0093    )
0094 endif(WIN32)
0095 
0096 find_library(MYSQL_EMBEDDED_LIBRARIES NAMES mysqld
0097    PATHS
0098    ${MYSQL_LIB_PATHS}
0099 )
0100 
0101 if(MYSQL_LIBRARIES)
0102    get_filename_component(MYSQL_LIB_DIR ${MYSQL_LIBRARIES} PATH)
0103 endif(MYSQL_LIBRARIES)
0104 
0105 if(MYSQL_EMBEDDED_LIBRARIES)
0106    get_filename_component(MYSQL_EMBEDDED_LIB_DIR ${MYSQL_EMBEDDED_LIBRARIES} PATH)
0107 endif(MYSQL_EMBEDDED_LIBRARIES)
0108 
0109 set( CMAKE_REQUIRED_INCLUDES ${MYSQL_INCLUDE_DIR} )
0110 set( CMAKE_REQUIRED_LIBRARIES ${MYSQL_EMBEDDED_LIBRARIES} )
0111 check_cxx_source_compiles( "#include <mysql.h>\nint main() { int i = MYSQL_OPT_USE_EMBEDDED_CONNECTION; }" HAVE_MYSQL_OPT_EMBEDDED_CONNECTION )
0112 
0113 if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
0114    set(MYSQL_FOUND TRUE)
0115    message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}")
0116 else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
0117    set(MYSQL_FOUND FALSE)
0118    message(STATUS "MySQL not found.")
0119 endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
0120 
0121 if(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION)
0122    set(MYSQL_EMBEDDED_FOUND TRUE)
0123    message(STATUS "Found MySQL Embedded: ${MYSQL_INCLUDE_DIR}, ${MYSQL_EMBEDDED_LIBRARIES}")
0124 else(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION)
0125    set(MYSQL_EMBEDDED_FOUND FALSE)
0126    message(STATUS "MySQL Embedded not found.")
0127 endif(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION)
0128 
0129 mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES MYSQL_EMBEDDED_LIBRARIES)