FindODBC

在 3.12 版本中添加。

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

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

在 Unix 上,此模块允许搜索由 unixODBC 或 iODBC 实现的 ODBC API 提供的 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 对应的包含目录已在编译环境中可用。

ODBC_LIBRARIES

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

ODBC_CONFIG

如果找到或指定,则为 unixODBC 或 iODBC 配置程序的路径。

缓存变量

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

ODBC_INCLUDE_DIR

包含 sql.h 头文件的 ODBC 包含目录路径。

ODBC_LIBRARY

要链接的 ODBC 库路径。

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

限制

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