diff options
| -rw-r--r-- | cmake/modules/FindMysql.cmake | 78 |
1 files changed, 78 insertions, 0 deletions
| diff --git a/cmake/modules/FindMysql.cmake b/cmake/modules/FindMysql.cmake new file mode 100644 index 0000000..e060e49 --- /dev/null +++ b/cmake/modules/FindMysql.cmake | |||
| @@ -0,0 +1,78 @@ | |||
| 1 | # This line added for distribution with Vermont: | ||
| 2 | MESSAGE(STATUS "Using bundled FindMySQL.cmake...") | ||
| 3 | |||
| 4 | # - Find MySQL | ||
| 5 | # Find the MySQL includes and client library | ||
| 6 | # This module defines | ||
| 7 | # MYSQL_INCLUDE_DIR, where to find mysql.h | ||
| 8 | # MYSQL_LIBRARIES, the libraries needed to use MySQL. | ||
| 9 | # MYSQL_FOUND, If false, do not try to use MySQL. | ||
| 10 | # | ||
| 11 | # Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl> | ||
| 12 | # | ||
| 13 | # Redistribution and use is allowed according to the terms of the BSD license. | ||
| 14 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. | ||
| 15 | |||
| 16 | |||
| 17 | IF(UNIX) | ||
| 18 | SET(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH | ||
| 19 | "preferred path to MySQL (mysql_config)") | ||
| 20 | FIND_PROGRAM(MYSQL_CONFIG mysql_config | ||
| 21 | ${MYSQL_CONFIG_PREFER_PATH} | ||
| 22 | /usr/local/mysql/bin/ | ||
| 23 | /usr/local/bin/ | ||
| 24 | /usr/bin/ | ||
| 25 | ) | ||
| 26 | |||
| 27 | IF (MYSQL_CONFIG) | ||
| 28 | # set INCLUDE_DIR | ||
| 29 | EXEC_PROGRAM(${MYSQL_CONFIG} | ||
| 30 | ARGS --include | ||
| 31 | OUTPUT_VARIABLE MY_TMP) | ||
| 32 | string (REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}") | ||
| 33 | SET(MYSQL_ADD_INCLUDE_DIR ${MY_TMP} CACHE FILEPATH INTERNAL) | ||
| 34 | |||
| 35 | # set LIBRARY_DIR | ||
| 36 | EXEC_PROGRAM(${MYSQL_CONFIG} | ||
| 37 | ARGS --libs | ||
| 38 | OUTPUT_VARIABLE MY_TMP) | ||
| 39 | string (REGEX REPLACE "(.* )?-L([^ ]*)( .*)?" "\\2" MY_TMP "${MY_TMP}") | ||
| 40 | SET(MYSQL_ADD_LIBRARY ${MY_TMP} CACHE FILEPATH INTERNAL) | ||
| 41 | ENDIF(MYSQL_CONFIG) | ||
| 42 | |||
| 43 | ELSE(UNIX) | ||
| 44 | set(MYSQL_ADD_INCLUDE_DIR "c:/msys/local/include" CACHE FILEPATH INTERNAL) | ||
| 45 | set(MYSQL_ADD_LIBRARY "c:/msys/local/lib" CACHE FILEPATH INTERNAL) | ||
| 46 | ENDIF(UNIX) | ||
| 47 | |||
| 48 | if (NOT MYSQL_FOUND) | ||
| 49 | |||
| 50 | find_path(MYSQL_INCLUDE_DIR mysql.h | ||
| 51 | /usr/local/include | ||
| 52 | /usr/local/include/mysql | ||
| 53 | /usr/local/mysql/include | ||
| 54 | /usr/include | ||
| 55 | ${MYSQL_ADD_INCLUDE_DIR} | ||
| 56 | ) | ||
| 57 | |||
| 58 | find_library(MYSQL_LIBRARIES NAMES mysqlclient | ||
| 59 | PATHS | ||
| 60 | /usr/lib | ||
| 61 | /usr/lib/mysql | ||
| 62 | /usr/local/lib | ||
| 63 | /usr/local/lib/mysql | ||
| 64 | /usr/local/mysql/lib | ||
| 65 | ${MYSQL_ADD_LIBRARY} | ||
| 66 | ) | ||
| 67 | |||
| 68 | if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) | ||
| 69 | set(MYSQL_FOUND TRUE CACHE INTERNAL "MySQL found") | ||
| 70 | message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}") | ||
| 71 | else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) | ||
| 72 | set(MYSQL_FOUND FALSE CACHE INTERNAL "MySQL found") | ||
| 73 | message(STATUS "MySQL not found.") | ||
| 74 | endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) | ||
| 75 | |||
| 76 | mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES) | ||
| 77 | |||
| 78 | endif (NOT MYSQL_FOUND) \ No newline at end of file | ||
