CMakeLists.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #
  2. # local copy
  3. #
  4. if( WIN32 )
  5. message( STATUS "Detecting local MYSQL" )
  6. find_path( MYSQL_LOCAL_INCLUDE_DIRS "mysql.h"
  7. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/include"
  8. NO_DEFAULT_PATH )
  9. if(CMAKE_SIZEOF_VOID_P EQUAL 4)
  10. find_library( MYSQL_LOCAL_LIBRARIES
  11. NAMES libmysql
  12. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/lib/Win32"
  13. NO_DEFAULT_PATH )
  14. else()
  15. find_library( MYSQL_LOCAL_LIBRARIES
  16. NAMES libmysql
  17. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/lib/x64"
  18. NO_DEFAULT_PATH )
  19. endif()
  20. mark_as_advanced( MYSQL_LOCAL_LIBRARIES )
  21. mark_as_advanced( MYSQL_LOCAL_INCLUDE_DIRS )
  22. if( MYSQL_LOCAL_LIBRARIES AND MYSQL_LOCAL_INCLUDE_DIRS )
  23. if( EXISTS "${MYSQL_LOCAL_INCLUDE_DIRS}/mysql_version.h" )
  24. file( STRINGS "${MYSQL_LOCAL_INCLUDE_DIRS}/mysql_version.h" MYSQL_VERSION_H REGEX "^#define MYSQL_SERVER_VERSION[ \t]+\"[^\"]+\".*$" )
  25. string( REGEX REPLACE "^.*MYSQL_SERVER_VERSION[ \t]+\"([^\"]+)\".*$" "\\1" MYSQL_SERVER_VERSION "${MYSQL_VERSION_H}" )
  26. message( STATUS "Found MYSQL: ${MYSQL_LOCAL_LIBRARIES} (found version ${MYSQL_SERVER_VERSION})" )
  27. else()
  28. message( STATUS "Found MYSQL: ${MYSQL_LOCAL_LIBRARIES}" )
  29. endif()
  30. set( HAVE_LOCAL_MYSQL ON
  31. CACHE BOOL "mysql client is available as a local copy")
  32. mark_as_advanced( HAVE_LOCAL_MYSQL )
  33. else()
  34. foreach( _VAR MYSQL_LOCAL_LIBRARIES MYSQL_LOCAL_INCLUDE_DIRS )
  35. if( NOT "${_VAR}" )
  36. set( MISSING_VARS ${MISSING_VARS} ${_VAR} )
  37. endif()
  38. endforeach()
  39. message( STATUS "Could NOT find MYSQL (missing: ${MISSING_VARS})" )
  40. unset( HAVE_LOCAL_MYSQL CACHE )
  41. endif()
  42. message( STATUS "Detecting local MYSQL - done" )
  43. endif( WIN32 )
  44. #
  45. # system
  46. #
  47. message( STATUS "Detecting system MYSQL" )
  48. unset( MYSQL_LIBRARIES CACHE )
  49. unset( MYSQL_INCLUDE_DIRS CACHE )
  50. find_package( MYSQL )
  51. set( MYSQL_SYSTEM_LIBRARIES "${MYSQL_LIBRARIES}"
  52. CACHE PATH "system mysql libraries" )
  53. set( MYSQL_SYSTEM_INCLUDE_DIRS "${MYSQL_INCLUDE_DIRS}"
  54. CACHE PATH "system mysql include directories" )
  55. mark_as_advanced( MYSQL_SYSTEM_LIBRARIES )
  56. mark_as_advanced( MYSQL_SYSTEM_INCLUDE_DIRS )
  57. if( MYSQL_SYSTEM_LIBRARIES AND MYSQL_SYSTEM_INCLUDE_DIRS )
  58. set( HAVE_SYSTEM_MYSQL ON
  59. CACHE BOOL "mysql client is available on the system" )
  60. mark_as_advanced( HAVE_SYSTEM_MYSQL )
  61. else()
  62. unset( HAVE_SYSTEM_MYSQL CACHE )
  63. endif()
  64. message( STATUS "Detecting system MYSQL - done" )
  65. #
  66. # configure
  67. #
  68. CONFIGURE_WITH_LOCAL_OR_SYSTEM( MYSQL )