Connector/C++ 識別本節中描述的 CMake
選項。
表 4.1 Connector/C++ 原始碼組態選項參考
格式 | 描述 | 預設值 |
---|---|---|
BUILD_STATIC |
是否建置靜態程式庫 | OFF |
BUNDLE_DEPENDENCIES |
是否將外部相依性程式庫與連接器捆綁 | OFF |
CMAKE_BUILD_TYPE |
要產生的建置類型 | Debug |
CMAKE_INSTALL_DOCDIR |
文件安裝目錄 | |
CMAKE_INSTALL_INCLUDEDIR |
標頭檔案安裝目錄 | |
CMAKE_INSTALL_LIBDIR |
程式庫安裝目錄 | |
CMAKE_INSTALL_PREFIX |
安裝基礎目錄 | /usr/local |
MAINTAINER_MODE |
僅供內部使用 | OFF |
MYSQLCLIENT_STATIC_BINDING |
是否連結至共用的 MySQL 用戶端程式庫 | ON |
MYSQLCLIENT_STATIC_LINKING |
是否靜態連結至 MySQL 用戶端程式庫 | OFF |
MYSQL_CONFIG_EXECUTABLE |
mysql_config 程式的路徑 | ${MYSQL_DIR}/bin/mysql_config |
MYSQL_DIR |
MySQL Server 安裝目錄 | |
STATIC_MSVCRT |
使用靜態執行階段程式庫 | |
WITH_BOOST |
Boost 原始碼目錄 | system |
WITH_DOC |
是否產生 Doxygen 文件 | OFF |
WITH_JDBC |
是否建置舊版 JDBC 程式庫 | OFF |
WITH_LZ4 |
LZ4 原始碼目錄 | |
WITH_MYSQL |
MySQL Server 原始碼目錄 | system |
WITH_PROTOBUF |
Protobuf 原始碼目錄 | |
WITH_SSL |
SSL 原始碼目錄 | system |
WITH_ZLIB |
ZLIB 原始碼目錄 | |
WITH_ZSTD |
ZSTD 原始碼目錄 |
-
預設情況下,會建置動態(共用)程式庫。如果啟用此選項,則會改為建置靜態程式庫。
-
這是用於建立 Connector/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++ 的位置)。
-
這是用於建立 Connector/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 用戶端程式庫。預設值取決於您要建置的舊版 JDBC 連接器
從 Connector/C++ 8.0.33 開始,預設值為
OFF
(使用用戶端程式庫的動態連結)。啟用此選項會停用用戶端程式庫的動態連結。對於 Connector/C++ 8.0.16 到 8.0.32,預設值為
ON
(使用用戶端程式庫的靜態連結)。停用此選項會啟用用戶端程式庫的動態連結。CMake 會在組態時驗證目前的編譯器和標準程式庫是否可以無錯誤地建置。
只有在您建置舊版 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*
編譯器選項)。如果使用 Connector/C++ 的程式碼也使用靜態執行階段程式庫,則此選項可能會有必要。 -
-DWITH_BOOST={system|
path_name
}此選項指定在使用外部相依性編譯 Connector/C++ 時要使用的 BOOST 標頭檔。要使用的選項值
system
:使用系統 BOOST 標頭檔。path_name
是要使用的檔案的路徑名稱。
為了與 CMake 慣例保持一致,可以使用
BOOST_DIR
或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
或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
或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
或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
可以讓您找到使用相依性所需的二進位檔案並找到編譯器。 -
此選項指定在編譯 Connector/C++ 時要使用的 SSL 函式庫。要使用的選項值為:
system
:使用系統的 OpenSSL 函式庫。path_name
是要使用的 SSL 安裝路徑名稱。它應該是已安裝的 OpenSSL 函式庫的路徑,並且必須指向一個包含已建置的 OpenSSL 函式庫的lib
子目錄的目錄。為 OpenSSL 安裝指定路徑名稱可能比使用system
更好,因為它可以防止 CMake 偵測和使用系統上安裝的較舊或不正確的 OpenSSL 版本。
為了與 CMake 慣例保持一致,可以使用
SSL_DIR
或SSL_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
或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
}此選項指定在使用外部相依性編譯 Connector/C++ 時要使用的 ZSTD 安裝。要使用的選項值為:
system
:使用系統的 ZSTD 位置。path_name
是要使用的安裝位置路徑名稱。
為了與 CMake 慣例保持一致,可以使用
ZSTD_DIR
或ZSTD_ROOT_DIR
來取代WITH_ZSTD
,以指示相依性的基本位置。若要暗示使用
WITH_ZSTD
選項,但需要更精細地指定安裝目錄,請使用ZSTD_INCLUDE_DIR
或ZSTD_LIB_DIR
來指示標頭檔(或函式庫)的位置,而不是從ZSTD_ROOT_DIR
值推導而來。若要指定要連結的外部函式庫清單,請使用ZSTD_LIBRARY
,而不是使用WITH_ZSTD
選項。如果您同時指定
ZSTD_LIBRARY
和ZSTD_LIB_DIR
,則ZSTD_LIB_DIR
會在尋找函式庫檔案時作為額外的字首,而ZSTD_LIBRARY
應該相對於該字首。在 Windows 上,ZSTD_LIBRARY
應指向 DLL 的匯入函式庫。