Connector/C++ 识别CMake
本节中描述的选项。
表 4.1 连接器/C++ 源配置选项参考
格式 | 描述 | 默认 | 介绍 |
---|---|---|---|
BUILD_STATIC |
是否建立静态库 | OFF |
|
BUNDLE_DEPENDENCIES |
连接器是否绑定外部依赖库 | OFF |
|
CMAKE_BUILD_TYPE |
要生成的构建类型 | Debug |
|
CMAKE_INSTALL_DOCDIR |
文档安装目录 | 8.0.14 | |
CMAKE_INSTALL_INCLUDEDIR |
头文件安装目录 | 8.0.14 | |
CMAKE_INSTALL_LIBDIR |
库安装目录 | 8.0.14 | |
CMAKE_INSTALL_PREFIX |
安装基目录 | /usr/local |
|
MAINTAINER_MODE |
仅限内部使用 | OFF |
8.0.12 |
MYSQLCLIENT_STATIC_BINDING |
是否链接到共享的MySQL客户端库 | ON |
8.0.16 |
MYSQLCLIENT_STATIC_LINKING |
是否静态链接MySQL客户端库 | ON |
8.0.16 |
MYSQL_CONFIG_EXECUTABLE |
mysql_config 程序的路径 | ${MYSQL_DIR}/bin/mysql_config |
|
MYSQL_DIR |
MySQL服务器安装目录 | ||
STATIC_MSVCRT |
使用静态运行时库 | ||
WITH_BOOST |
Boost源码目录 | system |
|
WITH_DOC |
是否生成Doxygen文档 | OFF |
|
WITH_JDBC |
是否构建遗留 JDBC 库 | OFF |
8.0.7 |
WITH_LZ4 |
LZ4源码目录 | 8.0.31 | |
WITH_MYSQL |
MySQL 服务器源目录 | system |
|
WITH_PROTOBUF |
Protobuf 源目录 | 8.0.31 | |
WITH_SSL |
SSL 源目录 | system |
8.0.7 |
WITH_ZLIB |
ZLIB 源目录 | 8.0.31 | |
WITH_ZSTD |
ZSTD 源目录 | 8.0.31 |
-
默认情况下,构建动态(共享)库。如果启用此选项,则会构建静态库。
-
这是用于创建连接器/C++ 分发包的内部选项。
-
要生成的构建类型:
Debug
:禁用优化并生成调试信息。这是默认值。Release
:启用优化。RelWithDebInfo
:启用优化并生成调试信息。
-
-DCMAKE_INSTALL_DOCDIR=
dir_name
文档安装目录,相对于
CMAKE_INSTALL_PREFIX
. 如果不指定,默认安装在CMAKE_INSTALL_PREFIX
.此选项需要
WITH_DOC
启用。此选项是在 Connector/C++ 8.0.14 中添加的。
-
-DCMAKE_INSTALL_INCLUDEDIR=
dir_name
头文件安装目录,相对于
CMAKE_INSTALL_PREFIX
. 如果未指定,则默认为include
.此选项是在 Connector/C++ 8.0.14 中添加的。
-
-DCMAKE_INSTALL_LIBDIR=
dir_name
库安装目录,相对于
CMAKE_INSTALL_PREFIX
. 如果未指定,则默认为lib64
或lib
。此选项是在 Connector/C++ 8.0.14 中添加的。
-
-DCMAKE_INSTALL_PREFIX=
dir_name
安装基目录(安装 Connector/C++ 的位置)。
-
这是用于创建连接器/C++ 分发包的内部选项。它是在 Connector/C++ 8.0.12 中添加的。
-
-DMYSQLCLIENT_STATIC_BINDING=
bool
是否链接到共享的 MySQL 客户端库。
MYSQLCLIENT_STATIC_LINKING
仅当禁用启用 MySQL 客户端库的动态链接时才使用此选项 。在这种情况下,如果MYSQLCLIENT_STATIC_BINDING
启用(默认),Connector/C++ 将链接到共享的 MySQL 客户端库。否则,将在运行时加载和映射共享的 MySQL 客户端库。此选项仅在您构建遗留 JDBC 连接器时适用(即,仅当
WITH_JDBC
启用时)。它是在 Connector/C++ 8.0.16 中添加的。 -
-DMYSQLCLIENT_STATIC_LINKING=
bool
是否静态链接到MySQL客户端库。默认是
ON
(使用静态链接到客户端库)。禁用此选项会启用到客户端库的动态链接。此选项仅在您构建遗留 JDBC 连接器时适用(即,仅当
WITH_JDBC
启用时)。它是在 Connector/C++ 8.0.16 中添加的。 -
-DMYSQL_CONFIG_EXECUTABLE=
file_name
mysql_config程序 的路径。
在非 Windows 系统上,CMake检查是否
MYSQL_CONFIG_EXECUTABLE
已设置。如果不是,CMake会尝试定位mysql_config
到默认位置。此选项仅在您构建遗留 JDBC 连接器时适用(即,仅当
WITH_JDBC
启用时)。 -
安装 MySQL 的目录。
此选项仅在您构建遗留 JDBC 连接器时适用(即,仅当
WITH_JDBC
启用时)。 -
(仅限 Windows)使用静态运行时库(
/MT*
编译器选项)。如果使用连接器/C++ 的代码也使用静态运行时库,则可能需要此选项。 -
-DWITH_BOOST={system|
path_name
}此选项指定在使用外部依赖项编译 Connector/C++ 时要使用哪个 BOOST 头文件。要使用的选项值:
system
:使用系统BOOST头文件。path_name
是要使用的文件的路径名。
为了与CMake约定保持一致, 可以使用
BOOST_DIR
or 来代替指示依赖项的基本位置。作为暗示 选项(未指定)的替代方法,用于提供头文件位置而不是从值中派生它。BOOST_ROOT_DIR
WITH_BOOST
WITH_BOOST
BOOST_INCLUDE_DIR
BOOST_ROOT_DIR
此选项仅在您构建遗留 JDBC 连接器时适用(即,仅当
WITH_JDBC
启用时)。 -
是否启用生成 Doxygen 文档。从 Connector/C++ 8.0.16 开始,启用此选项还会导致
all
目标构建 Doxygen 文档。 -
是否构建遗留 JDBC 连接器。默认情况下禁用此选项。如果启用,Connector/C++ 8.0 应用程序可以使用遗留的 JDBC API,就像 Connector/C++ 1.1 应用程序一样。
-
此选项指定在编译具有外部依赖项的 Connector/C++ 时要使用的 LZ4 安装。要使用的选项值:
system
: 使用系统 LZ4 位置。path_name
是要使用的安装位置的路径名。
为了与CMake约定保持一致, 可以使用
LZ4_DIR
or来代替 指示依赖项的基本位置。LZ4_ROOT_DIR
WITH_LZ4
要暗示该
WITH_LZ4
选项但具有更细粒度的安装目录规范,请使用LZ4_INCLUDE_DIR
或LZ4_LIB_DIR
指示头文件(或库)位置而不是从LZ4_ROOT_DIR
值中派生它。要指定要链接到的外部库列表,请使用LZ4_LIBRARY
而不是该WITH_LZ4
选项。如果同时指定
LZ4_LIBRARY
和LZ4_LIB_DIR
,则LZ4_LIB_DIR
在查找库文件时用作附加前缀,并且LZ4_LIBRARY
应该相对于该前缀。在 Windows 上,LZ4_LIBRARY
应指向 DLL 的导入库。 -
-DWITH_MYSQL={system|
path_name
}安装 MySQL 源的位置。当您指定此选项时,客户端库将静态链接,除非您还请求
MYSQLCLIENT_STATIC_LINKING=OFF
. 要使用的选项值:system
:使用系统MYSQL位置。path_name
是要使用的安装位置的路径名。
此选项仅在您构建遗留 JDBC 连接器时适用(即,仅当
WITH_JDBC
启用时)。为了与CMake约定保持一致, 可以使用
MYSQL_DIR
or 来代替指示依赖项的基本位置。MYSQL_ROOT_DIR
WITH_MYSQL
要暗示该
WITH_MYSQL
选项但具有更细粒度的安装目录规范,请使用MYSQL_INCLUDE_DIR
或MYSQL_LIB_DIR
指示头文件(或库)位置而不是从MYSQL_ROOT_DIR
值中派生它。要指定要链接到的外部库列表,请使用MYSQL_LIBRARY
而不是该WITH_MYSQL
选项。如果同时指定
MYSQL_LIBRARY
和MYSQL_LIB_DIR
,则MYSQL_LIB_DIR
在查找库文件时用作附加前缀,并且MYSQL_LIBRARY
应该相对于该前缀。在 Windows 上,MYSQL_LIBRARY
应指向 DLL 的导入库。 -
-DWITH_PROTOBUF={system|
path_name
}此选项指定在编译具有外部依赖项的 Connector/C++ 时要使用的 Protobuf 安装。尽管 Connector/C++ 二进制包中的库仍然静态链接到 Protobuf 中,但使用此选项可以从外部源构建一个动态链接到 Protobuf 中的变体。
要使用的选项值:
system
:使用系统 Protobuf 位置。path_name
是要使用的安装位置的路径名。
为了与CMake约定保持一致, 可以使用
PROTOBUF_DIR
or 来代替指示依赖项的基本位置。PROTOBUF_ROOT_DIR
WITH_PROTOBUF
要暗示该
WITH_PROTOBUF
选项但具有更细粒度的安装目录规范,请使用PROTOBUF_INCLUDE_DIR
或PROTOBUF_LIB_DIR
指示头文件(或库)位置而不是从PROTOBUF_ROOT_DIR
值中派生它。要指定要链接到的外部库列表,请使用PROTOBUF_LIBRARY
而不是该WITH_PROTOBUF
选项。如果同时指定
PROTOBUF_LIBRARY
和PROTOBUF_LIB_DIR
,则PROTOBUF_LIB_DIR
在查找库文件时用作附加前缀,并且PROTOBUF_LIBRARY
应该相对于该前缀。在 Windows 上,PROTOBUF_LIBRARY
应指向 DLL 的导入库。同样,指定
PROTOBUF_BIN_DIR
可以定位使用依赖项所需的二进制文件并找到编译器。 -
此选项指定编译连接器/C++ 时要使用的 SSL 库。要使用的选项值:
system
: 使用系统 OpenSSL 库。path_name
是要使用的 SSL 安装的路径名。它应该是已安装的 OpenSSL 库的路径,并且必须指向一个目录,该目录包含一个包含lib
已构建的 OpenSSL 库的子目录。为 OpenSSL 安装指定路径名可能比使用更可取,system
因为它可以防止 CMake检测和使用系统上安装的较旧或不正确的 OpenSSL 版本。
为了与CMake约定 保持一致,可以使用
SSL_DIR
orSSL_ROOT_DIR
( ) 代替来指示依赖项的基本位置。OPENSSL_ROOT_DIR
WITH_SSL
要暗示该
WITH_SSL
选项但具有更细粒度的安装目录规范,请使用OPENSSL_INCLUDE_DIR
或OPENSSL_LIB_DIR
指示头文件(或库)位置而不是从SSL_ROOT_DIR
值中派生它。要指定要链接到的外部库列表,请使用SSL_LIBRARY
而不是该WITH_SSL
选项。如果同时指定
SSL_LIBRARY
和OPENSSL_LIB_DIR
,则OPENSSL_LIB_DIR
在查找库文件时用作附加前缀,并且SSL_LIBRARY
应该相对于该前缀。在 Windows 上,SSL_LIBRARY
应指向 DLL 的导入库。 -
-DWITH_ZLIB={system|
path_name
}此选项指定在使用外部依赖项编译 Connector/C++ 时要使用的 ZLIB 安装。要使用的选项值:
system
:使用系统 ZLIB 位置。path_name
是要使用的安装位置的路径名。
为了与CMake约定保持一致, 可以使用
ZLIB_DIR
or 来代替指示依赖项的基本位置。ZLIB_ROOT_DIR
WITH_ZLIB
要暗示该
WITH_ZLIB
选项但具有更细粒度的安装目录规范,请使用ZLIB_INCLUDE_DIR
或ZLIB_LIB_DIR
指示头文件(或库)位置而不是从ZLIB_ROOT_DIR
值中派生它。要指定要链接到的外部库列表,请使用ZLIB_LIBRARY
而不是该WITH_ZLIB
选项。如果同时指定
ZLIB_LIBRARY
和ZLIB_LIB_DIR
,则ZLIB_LIB_DIR
在查找库文件时用作附加前缀,并且ZLIB_LIBRARY
应该相对于该前缀。在 Windows 上,ZLIB_LIBRARY
应指向 DLL 的导入库, -
-DWITH_ZSTD={system|
path_name
}此选项指定在编译具有外部依赖项的连接器/C++ 时要使用的 ZSTD 安装。要使用的选项值:
system
:使用系统 ZSTD 位置。path_name
是要使用的安装位置的路径名。
为了与CMake约定保持一致, 可以使用
ZSTD_DIR
or 来代替指示依赖项的基本位置。ZSTD_ROOT_DIR
WITH_ZSTD
To imply the
WITH_ZSTD
option but with more fine-grained specification of installation directories, useZSTD_INCLUDE_DIR
orZSTD_LIB_DIR
to indicate the header file (or library) location instead of deriving it from theZSTD_ROOT_DIR
value. To specify a list of external libraries to link to, useZSTD_LIBRARY
instead of theWITH_ZSTD
option.If you specify both
ZSTD_LIBRARY
andZSTD_LIB_DIR
, thenZSTD_LIB_DIR
is used as an additional prefix when finding the library file andZSTD_LIBRARY
should be relative to that prefix. On Windows,ZSTD_LIBRARY
should point at the import library of the DLL.