Prefix native systemlibs with /:systemlib
[hiphop-php.git] / CMake / FindMySQL.cmake
blobf314c058d470f39d1f452838b0e6891d285e8283
1 #--------------------------------------------------------
2 # Copyright (C) 1995-2007 MySQL AB
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of version 2 of the GNU General Public License as
6 # published by the Free Software Foundation.
8 # There are special exceptions to the terms and conditions of the GPL
9 # as it is applied to this software. View the full text of the exception
10 # in file LICENSE.exceptions in the top-level directory of this software
11 # distribution.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22 # The MySQL Connector/ODBC is licensed under the terms of the
23 # GPL, like most MySQL Connectors. There are special exceptions
24 # to the terms and conditions of the GPL as it is applied to
25 # this software, see the FLOSS License Exception available on
26 # mysql.com.
28 ##########################################################################
31 #-------------- FIND MYSQL_INCLUDE_DIR ------------------
32 FIND_PATH(MYSQL_INCLUDE_DIR mysql.h
33                 $ENV{MYSQL_INCLUDE_DIR}
34                 $ENV{MYSQL_DIR}/include
35                 /usr/include/mysql
36                 /usr/local/include/mysql
37                 /opt/mysql/mysql/include
38                 /opt/mysql/mysql/include/mysql
39                 /opt/mysql/include
40                 /opt/local/include/mysql5
41                 /usr/local/mysql/include
42                 /usr/local/mysql/include/mysql
43                 $ENV{ProgramFiles}/MySQL/*/include
44                 $ENV{SystemDrive}/MySQL/*/include)
46 #----------------- FIND MYSQL_LIB_DIR -------------------
47 IF (WIN32)
48         # Set lib path suffixes
49         # dist = for mysql binary distributions
50         # build = for custom built tree
51         IF (CMAKE_BUILD_TYPE STREQUAL Debug)
52                 SET(libsuffixDist debug)
53                 SET(libsuffixBuild Debug)
54         ELSE (CMAKE_BUILD_TYPE STREQUAL Debug)
55                 SET(libsuffixDist opt)
56                 SET(libsuffixBuild Release)
57                 ADD_DEFINITIONS(-DDBUG_OFF)
58         ENDIF (CMAKE_BUILD_TYPE STREQUAL Debug)
60         FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient
61                                  PATHS
62                                  $ENV{MYSQL_DIR}/lib/${libsuffixDist}
63                                  $ENV{MYSQL_DIR}/libmysql
64                                  $ENV{MYSQL_DIR}/libmysql/${libsuffixBuild}
65                                  $ENV{MYSQL_DIR}/client/${libsuffixBuild}
66                                  $ENV{MYSQL_DIR}/libmysql/${libsuffixBuild}
67                                  $ENV{ProgramFiles}/MySQL/*/lib/${libsuffixDist}
68                                  $ENV{SystemDrive}/MySQL/*/lib/${libsuffixDist})
69 ELSE (WIN32)
70         FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient_r
71                                  PATHS
72                                  $ENV{MYSQL_DIR}/libmysql_r/.libs
73                                  $ENV{MYSQL_DIR}/lib
74                                  $ENV{MYSQL_DIR}/lib/mysql
75                                  /usr/lib/mysql
76                                  /usr/local/lib/mysql
77                                  /usr/local/mysql/lib
78                                  /usr/local/mysql/lib/mysql
79                                  /opt/local/mysql5/lib
80                                  /opt/local/lib/mysql5/mysql
81                                  /opt/mysql/mysql/lib/mysql
82                                  /opt/mysql/lib/mysql)
83 ENDIF (WIN32)
85 IF(MYSQL_LIB)
86         GET_FILENAME_COMPONENT(MYSQL_LIB_DIR ${MYSQL_LIB} PATH)
87 ENDIF(MYSQL_LIB)
89 IF (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
90         SET(MYSQL_FOUND TRUE)
92         INCLUDE_DIRECTORIES(${MYSQL_INCLUDE_DIR})
93         LINK_DIRECTORIES(${MYSQL_LIB_DIR})
95         FIND_LIBRARY(MYSQL_ZLIB zlib PATHS ${MYSQL_LIB_DIR})
96         FIND_LIBRARY(MYSQL_YASSL yassl PATHS ${MYSQL_LIB_DIR})
97         FIND_LIBRARY(MYSQL_TAOCRYPT taocrypt PATHS ${MYSQL_LIB_DIR})
98         SET(MYSQL_CLIENT_LIBS mysqlclient_r)
99         IF (MYSQL_ZLIB)
100                 SET(MYSQL_CLIENT_LIBS ${MYSQL_CLIENT_LIBS} zlib)
101         ENDIF (MYSQL_ZLIB)
102         IF (MYSQL_YASSL)
103                 SET(MYSQL_CLIENT_LIBS ${MYSQL_CLIENT_LIBS} yassl)
104         ENDIF (MYSQL_YASSL)
105         IF (MYSQL_TAOCRYPT)
106                 SET(MYSQL_CLIENT_LIBS ${MYSQL_CLIENT_LIBS} taocrypt)
107         ENDIF (MYSQL_TAOCRYPT)
108         # Added needed mysqlclient dependencies on Windows
109         IF (WIN32)
110                 SET(MYSQL_CLIENT_LIBS ${MYSQL_CLIENT_LIBS} ws2_32)
111         ENDIF (WIN32)
113         MESSAGE(STATUS "MySQL Include dir: ${MYSQL_INCLUDE_DIR}  library dir: ${MYSQL_LIB_DIR}")
114         MESSAGE(STATUS "MySQL client libraries: ${MYSQL_CLIENT_LIBS}")
115 ELSE (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
116         MESSAGE(FATAL_ERROR "Cannot find MySQL. Include dir: ${MYSQL_INCLUDE_DIR}  library dir: ${MYSQL_LIB_DIR}")
117 ENDIF (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)