Do not allow recursive calls to vasm.
[hiphop-php.git] / CMake / FindMySQL.cmake
blobb2b666e1057c3d7acb709af7f3ebe30160e43692
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)