WtFindMysql.txt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # This file defines:
  2. # - MYSQL_LIBRARIES
  3. # - MYSQL_INCLUDE_DIRS
  4. # - MYSQL_FOUND
  5. # - MYSQL_DEFINITIONS
  6. # Taking into account:
  7. # - MYSQL_PREFIX
  8. FIND_PATH(MYSQL_INCLUDE mysql.h
  9. ${MYSQL_PREFIX}/mariadbclient/include
  10. ${MYSQL_PREFIX}/include/mariadb
  11. ${MYSQL_PREFIX}/include
  12. ${MYSQL_PREFIX}/include/mysql
  13. /usr/include
  14. /usr/local/include
  15. /usr/include/mysql
  16. /opt/local/include/mysql5/mysql
  17. /usr/local/include/mysql
  18. )
  19. SET(MYSQL_LIBRARY mariadb libmariadb mariadbclient mysqlclient libmysql CACHE STRING "Library that provides MySQL/MariaDB API (set to mysqlclient for mysql on unix; libmysql on windows)")
  20. FOREACH(l ${MYSQL_LIBRARY})
  21. LIST(APPEND MYSQL_DEBUG_LIBRARY "${l}d")
  22. ENDFOREACH()
  23. FIND_LIBRARY(MYSQL_LIB
  24. NAMES
  25. ${MYSQL_LIBRARY}
  26. PATHS
  27. ${MYSQL_PREFIX}/lib
  28. ${MYSQL_PREFIX}/lib/opt
  29. ${MYSQL_PREFIX}/lib/mysql
  30. ${MYSQL_PREFIX}/lib64/mysql
  31. /usr/lib
  32. /usr/local/lib
  33. /opt/local/lib
  34. ${MYSQL_PREFIX}/lib/mariadb
  35. )
  36. FIND_LIBRARY(MYSQL_DEBUG_LIB
  37. NAMES
  38. ${MYSQL_DEBUG_LIBRARY}
  39. PATHS
  40. ${MYSQL_PREFIX}/lib
  41. ${MYSQL_PREFIX}/lib/opt
  42. /usr/lib
  43. /usr/local/lib
  44. /opt/local/lib
  45. )
  46. SET(MYSQL_FOUND OFF)
  47. IF(WIN32)
  48. IF (MYSQL_INCLUDE AND MYSQL_LIB)
  49. SET(MYSQL_FOUND ON)
  50. SET(MYSQL_INCLUDE_DIRS ${MYSQL_INCLUDE})
  51. IF (MYSQL_DEBUG_LIB)
  52. SET(MYSQL_LIBRARIES optimized ${MYSQL_LIB} debug ${MYSQL_DEBUG_LIB})
  53. ELSE (MYSQL_DEBUG_LIB)
  54. SET(MYSQL_LIBRARIES ${MYSQL_LIB})
  55. ENDIF (MYSQL_DEBUG_LIB)
  56. ENDIF (MYSQL_INCLUDE AND MYSQL_LIB)
  57. ELSE(WIN32)
  58. IF (MYSQL_INCLUDE AND MYSQL_LIB)
  59. SET(MYSQL_FOUND ON)
  60. SET(MYSQL_LIBRARIES ${MYSQL_LIB})
  61. SET(MYSQL_INCLUDE_DIRS ${MYSQL_INCLUDE})
  62. ELSE (MYSQL_INCLUDE AND MYSQL_LIB)
  63. SET(MYSQL_FOUND OFF)
  64. SET(MYSQL_LIBRARIES)
  65. ENDIF (MYSQL_INCLUDE AND MYSQL_LIB)
  66. ENDIF(WIN32)
  67. INCLUDE (CheckSymbolExists)
  68. # mariadb 1.0.0 does not have mysql_library_init
  69. IF(MYSQL_FOUND)
  70. SET(CMAKE_REQUIRED_FLAGS "")
  71. SET(CMAKE_REQUIRED_DEFINITIONS "")
  72. SET(CMAKE_REQUIRED_LIBRARIES "")
  73. SET(CMAKE_REQUIRED_INCLUDES ${MYSQL_INCLUDE})
  74. CHECK_SYMBOL_EXISTS(mysql_library_init mysql.h MYSQL_HAVE_LIBRARY_INIT)
  75. IF(NOT MYSQL_HAVE_LIBRARY_INIT)
  76. SET(MYSQL_DEFINITIONS "-DMYSQL_NO_LIBRARY_INIT")
  77. ENDIF(NOT MYSQL_HAVE_LIBRARY_INIT)
  78. ENDIF(MYSQL_FOUND)