2 Provides the following variables:
4 * `MySQL_INCLUDE_DIRS`: Include directories necessary to use MySQL.
5 * `MySQL_LIBRARIES`: Libraries necessary to use MySQL.
6 * A `MySQL::MySQL` imported
target.
9 # No .pc files are shipped with MySQL on Windows. 10 set(_MySQL_use_pkgconfig 0)
12 find_package(PkgConfig)
14 set(_MySQL_use_pkgconfig 1)
18 if (_MySQL_use_pkgconfig)
19 pkg_check_modules(_libmariadb "libmariadb" QUIET IMPORTED_TARGET)
21 if (_libmariadb_FOUND)
22 set(_mysql_target "_libmariadb")
24 pkg_check_modules(_mariadb "mariadb" QUIET IMPORTED_TARGET)
25 if (NOT _mariadb_FOUND)
26 pkg_check_modules(_mysql "mysql" QUIET IMPORTED_TARGET)
28 set(_mysql_target "_mysql")
31 set(_mysql_target "_mariadb")
32 if (_mariadb_VERSION VERSION_LESS 10.4)
33 get_property(_include_dirs
34 TARGET "PkgConfig::_mariadb"
35 PROPERTY "INTERFACE_INCLUDE_DIRECTORIES")
36 # Remove "${prefix}/mariadb/.." from the interface since it breaks other 38 list(FILTER _include_dirs EXCLUDE REGEX
"\\.\\.")
39 set_property(TARGET
"PkgConfig::_mariadb" 41 "INTERFACE_INCLUDE_DIRECTORIES" "${_include_dirs}")
50 set(MySQL_INCLUDE_DIRS ${${_mysql_target}_INCLUDE_DIRS})
51 set(MySQL_LIBRARIES ${${_mysql_target}_LINK_LIBRARIES})
52 if (NOT TARGET MySQL::MySQL)
53 add_library(MySQL::MySQL INTERFACE IMPORTED)
54 target_link_libraries(MySQL::MySQL
55 INTERFACE
"PkgConfig::${_mysql_target}")
60 set(_MySQL_mariadb_versions 10.2 10.3)
61 set(_MySQL_versions 5.0)
63 foreach (_MySQL_version IN LISTS _MySQL_mariadb_versions)
64 list(APPEND _MySQL_paths
65 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MariaDB ${_MySQL_version};INSTALLDIR]
" 66 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MariaDB ${_MySQL_version} (x64);INSTALLDIR]
") 68 foreach (_MySQL_version IN LISTS _MySQL_versions) 69 list(APPEND _MySQL_paths 70 "C:/Program Files/MySQL/MySQL Server ${_MySQL_version}/lib/opt
" 71 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server ${_MySQL_version};Location]
" 72 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server ${_MySQL_version};Location]
") 75 unset(_MySQL_versions) 76 unset(_MySQL_mariadb_versions) 78 find_path(MySQL_INCLUDE_DIR 81 "C:/Program Files/MySQL/include
" 84 PATH_SUFFIXES include include/mysql 85 DOC "Location of mysql.h
") 86 mark_as_advanced(MySQL_INCLUDE_DIR) 87 find_library(MySQL_LIBRARY 88 NAMES libmariadb mysql libmysql mysqlclient 90 "C:/Program Files/MySQL/lib
" 93 PATH_SUFFIXES lib lib/opt 94 DOC "Location of the mysql library
") 95 mark_as_advanced(MySQL_LIBRARY) 97 include(FindPackageHandleStandardArgs) 98 find_package_handle_standard_args(MySQL 99 REQUIRED_VARS MySQL_INCLUDE_DIR MySQL_LIBRARY) 102 set(MySQL_INCLUDE_DIRS "${MySQL_INCLUDE_DIR}
") 103 set(MySQL_LIBRARIES "${MySQL_LIBRARY}
") 104 if (NOT TARGET MySQL::MySQL) 105 add_library(MySQL::MySQL UNKNOWN IMPORTED) 106 set_target_properties(MySQL::MySQL PROPERTIES 107 IMPORTED_LOCATION "${MySQL_LIBRARY}
" 108 INTERFACE_INCLUDE_DIRECTORIES "${MySQL_INCLUDE_DIR}
") 112 unset(_MySQL_use_pkgconfig) boost::graph_traits< vtkGraph *>::vertex_descriptor target(boost::graph_traits< vtkGraph *>::edge_descriptor e, vtkGraph *)