查找ODBC

在 3.12 版本加入.

查找开放式数据库连接 (ODBC) 包含目录和库。

在 Windows 上,当使用 Visual Studio 构建时,此模块假定 ODBC 库由可用的 Windows SDK 提供。

在 Unix 上,此模块允许搜索由 unixODBC 或 ODBC API 的 iODBC 实现提供的 ODBC 库。该模块读取有关配置程序位置的提示:

ODBC_CONFIG

odbc_config 或 iodbc-config 程序的位置

否则,此模块会尝试查找配置程序,首先从 unixODBC,然后从 iODBC。如果未找到配置程序,此模块会在已知位置列表中搜索 ODBC 标头和库。

导入目标

该模块定义了以下 IMPORTED 目标:

ODBC::ODBC

使用 ODBC 库的导入目标(如果找到)。

结果变量

ODBC_FOUND

如果找到 ODBC 库,则设置为 true,否则为 false 或未定义。

ODBC_INCLUDE_DIRS

包含在一个变量中列出的目录的路径,供 ODBC 客户端使用。在 Windows 上可能为空,编译环境中已经有预期的 Windows SDK 对应的 include 目录。

ODBC_LIBRARIES

要链接以使用 ODBC 的库的路径。在Windows上可能只是一个库名,编译环境中已经有预期的Windows SDK对应的库目录。

ODBC_CONFIG

unixODBC 或 iODBC 配置程序的路径(如果找到或已指定)。

缓存变量

对于希望编辑和控制模块行为的用户,此模块从以下变量中读取有关搜索位置的提示:

ODBC_INCLUDE_DIR

ODBC 的路径包括带有 sql.h 标题的目录。

ODBC_LIBRARY

要链接的 ODBC 库的路径。

这些变量不应由项目代码直接使用。

限制

在 Windows 上,此模块不搜索 iODBC。在 Unix 上,除了使用 ODBC_CONFIG 提供配置程序位置之外,没有办法优先使用 unixODBC 而不是 iODBC,反之亦然。此模块不允许搜索特定的 ODBC 驱动程序。