2017-04-19 00:25:57 +00:00
|
|
|
option (ENABLE_MYSQL "Enable MySQL" ON)
|
2017-04-14 19:38:56 +00:00
|
|
|
|
2017-08-31 17:11:30 +00:00
|
|
|
option (USE_INTERNAL_MYSQL_LIBRARY "Set to FALSE to use system mysql library instead of bundled" ${NOT_UNBUNDLED})
|
|
|
|
|
2017-04-14 19:38:56 +00:00
|
|
|
if (ENABLE_MYSQL)
|
2017-08-31 17:11:30 +00:00
|
|
|
|
|
|
|
if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/mariadb-connector-c/CMakeLists.txt")
|
|
|
|
message (WARNING "submodule contrib/mariadb-connector-c is missing. to fix try run: git submodule update --init --recursive")
|
|
|
|
set (USE_INTERNAL_MYSQL_LIBRARY 0)
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
if (NOT USE_INTERNAL_MYSQL_LIBRARY)
|
2017-04-14 19:38:56 +00:00
|
|
|
set (MYSQL_LIB_PATHS
|
|
|
|
"/usr/local/opt/mysql/lib"
|
|
|
|
"/usr/local/lib/mysql/"
|
|
|
|
"/usr/local/lib/mysql"
|
|
|
|
"/usr/local/lib64/mysql"
|
|
|
|
"/usr/mysql/lib/mysql"
|
|
|
|
"/usr/mysql/lib64/mysql"
|
|
|
|
"/usr/lib/mysql"
|
|
|
|
"/usr/lib64/mysql"
|
|
|
|
"/lib/mysql"
|
2017-04-19 01:06:29 +00:00
|
|
|
"/lib64/mysql")
|
2017-04-14 19:38:56 +00:00
|
|
|
|
|
|
|
set (MYSQL_INCLUDE_PATHS
|
|
|
|
"/usr/local/opt/mysql/include"
|
|
|
|
"/usr/mysql/include/mysql"
|
|
|
|
"/usr/local/include/mysql"
|
2017-04-19 01:06:29 +00:00
|
|
|
"/usr/include/mysql")
|
2017-01-12 12:17:54 +00:00
|
|
|
|
2017-04-14 19:38:56 +00:00
|
|
|
find_path (MYSQL_INCLUDE_DIR NAMES mysql/mysql.h PATHS ${MYSQL_INCLUDE_PATHS})
|
|
|
|
|
|
|
|
if (USE_STATIC_LIBRARIES)
|
2017-08-29 17:13:20 +00:00
|
|
|
find_library (STATIC_MYSQLCLIENT_LIB mariadbclient mysqlclient PATHS ${MYSQL_LIB_PATHS})
|
2017-04-14 19:38:56 +00:00
|
|
|
else ()
|
2017-08-31 17:11:30 +00:00
|
|
|
find_library (MYSQLCLIENT_LIBRARIES mariadbclient mysqlclient PATHS ${MYSQL_LIB_PATHS})
|
2017-04-14 19:38:56 +00:00
|
|
|
endif ()
|
2017-08-31 17:11:30 +00:00
|
|
|
endif ()
|
|
|
|
|
|
|
|
if (MYSQL_INCLUDE_DIR AND (STATIC_MYSQLCLIENT_LIB OR MYSQLCLIENT_LIBRARIES))
|
|
|
|
include_directories (MYSQL_INCLUDE_DIR)
|
|
|
|
else ()
|
|
|
|
set (USE_INTERNAL_MYSQL_LIBRARY 1)
|
|
|
|
set (MYSQLCLIENT_LIBRARIES mariadbclient)
|
|
|
|
set (MYSQL_INCLUDE_DIR "${ClickHouse_SOURCE_DIR}/contrib/mariadb-connector-c/include")
|
2017-04-14 19:38:56 +00:00
|
|
|
endif ()
|
|
|
|
|
2017-08-31 17:11:30 +00:00
|
|
|
set(USE_MYSQL 1)
|
|
|
|
set(MYSQLXX_LIBRARY mysqlxx)
|
2017-04-14 19:38:56 +00:00
|
|
|
endif ()
|
2017-01-12 12:17:54 +00:00
|
|
|
|
2017-04-19 01:06:29 +00:00
|
|
|
if (USE_MYSQL)
|
2017-08-31 17:11:30 +00:00
|
|
|
message (STATUS "Using mysqlclient=${USE_MYSQL}: ${MYSQL_INCLUDE_DIR} : ${MYSQLCLIENT_LIBRARIES}; staticlib=${STATIC_MYSQLCLIENT_LIB} internal=${USE_INTERNAL_MYSQL_LIBRARY}")
|
2017-04-19 01:06:29 +00:00
|
|
|
else ()
|
|
|
|
message (STATUS "Build without mysqlclient (support for MYSQL dictionary source will be disabled)")
|
|
|
|
endif ()
|