diff options
author | megamage <none@none> | 2009-01-17 13:42:41 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-01-17 13:42:41 -0600 |
commit | 2cf1a3be1b310feafc43781ab9178f0c1f35d352 (patch) | |
tree | 8c028b01c102bba566ebb32c8014ab19eba8f46a /cmake/FindMySql.cmake | |
parent | 8739ded05dbf68486551531024f1ad8ad7b389cf (diff) | |
parent | c5dfe7dac27a0441192af758dc55e6c71c83ccb4 (diff) |
*Update to Trinity 878.
--HG--
branch : trunk
Diffstat (limited to 'cmake/FindMySql.cmake')
-rw-r--r-- | cmake/FindMySql.cmake | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/cmake/FindMySql.cmake b/cmake/FindMySql.cmake new file mode 100644 index 00000000000..e149cd4eaf0 --- /dev/null +++ b/cmake/FindMySql.cmake @@ -0,0 +1,102 @@ +# - Find MySQL +# Find the MySQL includes and client library +# This module defines +# MYSQL_INCLUDE_DIR, where to find mysql.h +# MYSQL_LIBRARIES, the libraries needed to use MySQL. +# MYSQL_FOUND, If false, do not try to use MySQL. +# +# Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl> +# Lot of adustmens by Michal Cihar <michal@cihar.com> +# +# vim: expandtab sw=4 ts=4 sts=4: +# +# Redistribution and use is allowed according to the terms of the BSD license. + +MACRO(FIND_MYSQL) +if(UNIX) + set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH + "preferred path to MySQL (mysql_config)") + find_program(MYSQL_CONFIG mysql_config + ${MYSQL_CONFIG_PREFER_PATH} + /usr/local/mysql/bin/ + /usr/local/bin/ + /usr/bin/ + ) + + if(MYSQL_CONFIG) + message(STATUS "Using mysql-config: ${MYSQL_CONFIG}") + # set INCLUDE_DIR + exec_program(${MYSQL_CONFIG} + ARGS --include + OUTPUT_VARIABLE MY_TMP) + + string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}") + + set(MYSQL_ADD_INCLUDE_DIR ${MY_TMP} CACHE FILEPATH INTERNAL) + + # set LIBRARY_DIR + exec_program(${MYSQL_CONFIG} + ARGS --libs_r + OUTPUT_VARIABLE MY_TMP) + + set(MYSQL_ADD_LIBRARIES "") + + string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}") + foreach(LIB ${MYSQL_LIB_LIST}) + string(REGEX REPLACE "[ ]*-l([^ ]*)" "\\1" LIB "${LIB}") + list(APPEND MYSQL_ADD_LIBRARIES "${LIB}") + endforeach(LIB ${MYSQL_LIBS}) + + set(MYSQL_ADD_LIBRARY_PATH "") + + string(REGEX MATCHALL "-L[^ ]*" MYSQL_LIBDIR_LIST "${MY_TMP}") + foreach(LIB ${MYSQL_LIBDIR_LIST}) + string(REGEX REPLACE "[ ]*-L([^ ]*)" "\\1" LIB "${LIB}") + list(APPEND MYSQL_ADD_LIBRARY_PATH "${LIB}") + endforeach(LIB ${MYSQL_LIBS}) + + else(MYSQL_CONFIG) + set(MYSQL_ADD_LIBRARIES "") + list(APPEND MYSQL_ADD_LIBRARIES "mysqlclient") + endif(MYSQL_CONFIG) +else(UNIX) + set(MYSQL_ADD_INCLUDE_DIR "c:/msys/local/include" CACHE FILEPATH INTERNAL) + set(MYSQL_ADD_LIBRARY_PATH "c:/msys/local/lib" CACHE FILEPATH INTERNAL) +ENDIF(UNIX) + +find_path(MYSQL_INCLUDE_DIR mysql.h + /usr/local/include + /usr/local/include/mysql + /usr/local/mysql/include + /usr/local/mysql/include/mysql + /usr/include + /usr/include/mysql + ${MYSQL_ADD_INCLUDE_DIR} +) + +set(TMP_MYSQL_LIBRARIES "") + +foreach(LIB ${MYSQL_ADD_LIBRARIES}) + find_library("MYSQL_LIBRARIES_${LIB}" NAMES ${LIB} + PATHS + ${MYSQL_ADD_LIBRARY_PATH} + /usr/lib/mysql + /usr/local/lib + /usr/local/lib/mysql + /usr/local/mysql/lib + ) + list(APPEND TMP_MYSQL_LIBRARIES "${MYSQL_LIBRARIES_${LIB}}") +endforeach(LIB ${MYSQL_ADD_LIBRARIES}) + +set(MYSQL_LIBRARIES ${TMP_MYSQL_LIBRARIES} CACHE FILEPATH INTERNAL) + +if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) + set(MYSQL_FOUND TRUE CACHE INTERNAL "MySQL found") + message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}") +else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) + set(MYSQL_FOUND FALSE CACHE INTERNAL "MySQL found") + message(STATUS "MySQL not found.") +endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) + +mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES) +ENDMACRO(FIND_MYSQL)
\ No newline at end of file |