From d31b66999520bc03925929896ffb16206aa69fc2 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sun, 4 Sep 2022 20:26:41 +0200 Subject: [PATCH] fix C API includes ColumnStore used to include server's mysql.h but link all tools with libmariadb.so There's no guarantee that this would work, even with workarounds it had in dbcon/mysql/sm.cpp Fix: * tools (linked with libmariadb.so) *must* include libmariadb's mysql.h * as a hack prevent service_thd_timezone.h from being loaded into tools, as it conflicts with libmariadb's mysql.h * server plugin *must* include server's mysql.h * also don't link every tool with libmariadb.so, link the helper library (liblibmysqlclient.so) that actually needs it, tools use this helper library, not libmariadb.so directly --- dbcon/joblist/CMakeLists.txt | 6 ++- dbcon/mysql/sm.cpp | 65 ----------------------- ddlproc/CMakeLists.txt | 2 +- dmlproc/CMakeLists.txt | 2 +- exemgr/CMakeLists.txt | 2 +- oamapps/columnstoreDB/CMakeLists.txt | 2 +- oamapps/columnstoreSupport/CMakeLists.txt | 2 +- oamapps/postConfigure/CMakeLists.txt | 2 +- primitives/primproc/CMakeLists.txt | 2 +- storage-manager/CMakeLists.txt | 4 -- tools/clearShm/CMakeLists.txt | 2 +- tools/cleartablelock/CMakeLists.txt | 2 +- tools/configMgt/CMakeLists.txt | 2 +- tools/cplogger/CMakeLists.txt | 2 +- tools/dbbuilder/CMakeLists.txt | 2 +- tools/dbloadxml/CMakeLists.txt | 2 +- tools/ddlcleanup/CMakeLists.txt | 2 +- tools/editem/CMakeLists.txt | 2 +- tools/getConfig/CMakeLists.txt | 2 +- tools/rgprint/CMakeLists.txt | 2 +- tools/setConfig/CMakeLists.txt | 2 +- tools/viewtablelock/CMakeLists.txt | 2 +- utils/cloudio/CMakeLists.txt | 4 +- utils/libmysql_client/CMakeLists.txt | 6 +++ utils/querystats/CMakeLists.txt | 4 ++ versioning/BRM/CMakeLists.txt | 15 +++--- writeengine/bulk/CMakeLists.txt | 2 +- writeengine/server/CMakeLists.txt | 2 +- writeengine/splitter/CMakeLists.txt | 2 +- 29 files changed, 46 insertions(+), 102 deletions(-) diff --git a/dbcon/joblist/CMakeLists.txt b/dbcon/joblist/CMakeLists.txt index b025005b8..e4e5bad45 100644 --- a/dbcon/joblist/CMakeLists.txt +++ b/dbcon/joblist/CMakeLists.txt @@ -1,3 +1,7 @@ +include_directories(BEFORE + ${CMAKE_BINARY_DIR}/libmariadb/include + ${CMAKE_SOURCE_DIR}/libmariadb/include) +add_definitions(-DMYSQL_SERVICE_THD_TIMEZONE_INCLUDED) include_directories( ${ENGINE_COMMON_INCLUDES} ${ENGINE_SRC_DIR}/tools/passwd) @@ -65,7 +69,7 @@ install(TARGETS joblist DESTINATION ${ENGINE_LIBDIR} COMPONENT columnstore-engin if (WITH_ORDERBY_UT) add_executable(job_orderby_tests orderby-tests.cpp) - target_link_libraries(job_orderby_tests ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${CPPUNIT_LIBRARIES} cppunit) + target_link_libraries(job_orderby_tests ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS} ${CPPUNIT_LIBRARIES} cppunit) install(TARGETS job_orderby_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) endif() diff --git a/dbcon/mysql/sm.cpp b/dbcon/mysql/sm.cpp index 7ca9116b0..a7a3bfa0c 100644 --- a/dbcon/mysql/sm.cpp +++ b/dbcon/mysql/sm.cpp @@ -506,69 +506,4 @@ void cpsm_conhdl_t::write(ByteStream bs) #endif } -} // namespace sm - -/** - * The following functions exist because QueryStats is used by sm. - * QueryStats needs to use a MariaDB client connection and has to use the - * server's built-in client which doesn't have the same API as the general - * MariaDB client. - * These functions reproduce the missing functionality. - * Everywhere else QueryStats is linked to uses the general MariaDB API so - * these functions aren't needed. - */ - -unsigned long mysql_real_escape_string(MYSQL* mysql, char* to, const char* from, unsigned long length) -{ - my_bool overflow; - return escape_string_for_mysql(mysql->charset, to, length * 2 + 1, from, length, &overflow); -} - -// Clone of sql-common/client.c cli_use_result -MYSQL_RES* mysql_use_result(MYSQL* mysql) -{ - MYSQL_RES* result; - DBUG_ENTER("mysql_use_result (clone)"); - - if (!mysql->fields) - DBUG_RETURN(0); - - if (mysql->status != MYSQL_STATUS_GET_RESULT) - { - set_mysql_error(mysql, CR_COMMANDS_OUT_OF_SYNC, unknown_sqlstate); - DBUG_RETURN(0); - } - - if (!(result = - (MYSQL_RES*)my_malloc(PSI_NOT_INSTRUMENTED, sizeof(*result) + sizeof(ulong) * mysql->field_count, - MYF(MY_WME | MY_ZEROFILL)))) - DBUG_RETURN(0); - - result->lengths = (ulong*)(result + 1); - result->methods = mysql->methods; - - if (!(result->row = (MYSQL_ROW)my_malloc(PSI_NOT_INSTRUMENTED, - sizeof(result->row[0]) * (mysql->field_count + 1), MYF(MY_WME)))) - { - /* Ptrs: to one row */ - my_free(result); - DBUG_RETURN(0); - } - - result->fields = mysql->fields; - result->field_alloc = mysql->field_alloc; - result->field_count = mysql->field_count; - result->current_field = 0; - result->handle = mysql; - result->current_row = 0; - mysql->fields = 0; /* fields is now in result */ - clear_alloc_root(&mysql->field_alloc); - mysql->status = MYSQL_STATUS_USE_RESULT; - mysql->unbuffered_fetch_owner = &result->unbuffered_fetch_cancelled; - DBUG_RETURN(result); /* Data is read to be fetched */ -} - -MYSQL_FIELD* mysql_fetch_fields(MYSQL_RES* res) -{ - return res->fields; } diff --git a/ddlproc/CMakeLists.txt b/ddlproc/CMakeLists.txt index 2db5d3d95..822fb0e7a 100644 --- a/ddlproc/CMakeLists.txt +++ b/ddlproc/CMakeLists.txt @@ -10,7 +10,7 @@ add_executable(DDLProc ${DDLProc_SRCS}) add_dependencies(DDLProc loggingcpp) -target_link_libraries(DDLProc ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${NETSNMP_LIBRARIES} threadpool) +target_link_libraries(DDLProc ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS} ${NETSNMP_LIBRARIES} threadpool) install(TARGETS DDLProc DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/dmlproc/CMakeLists.txt b/dmlproc/CMakeLists.txt index 79edacb12..f975c9cf8 100644 --- a/dmlproc/CMakeLists.txt +++ b/dmlproc/CMakeLists.txt @@ -15,7 +15,7 @@ add_executable(DMLProc ${DMLProc_SRCS}) add_dependencies(DMLProc loggingcpp) -target_link_libraries(DMLProc ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${NETSNMP_LIBRARIES} threadpool ddlcleanuputil batchloader) +target_link_libraries(DMLProc ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS} ${NETSNMP_LIBRARIES} threadpool ddlcleanuputil batchloader) install(TARGETS DMLProc DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/exemgr/CMakeLists.txt b/exemgr/CMakeLists.txt index e869e4371..3e751c755 100644 --- a/exemgr/CMakeLists.txt +++ b/exemgr/CMakeLists.txt @@ -8,7 +8,7 @@ set(ExeMgr_SRCS main.cpp activestatementcounter.cpp femsghandler.cpp ../utils/co add_executable(ExeMgr ${ExeMgr_SRCS}) -target_link_libraries(ExeMgr ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} cacheutils threadpool) +target_link_libraries(ExeMgr ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES} cacheutils threadpool) target_include_directories(ExeMgr PRIVATE ${Boost_INCLUDE_DIRS}) diff --git a/oamapps/columnstoreDB/CMakeLists.txt b/oamapps/columnstoreDB/CMakeLists.txt index b82945012..f06670f8e 100644 --- a/oamapps/columnstoreDB/CMakeLists.txt +++ b/oamapps/columnstoreDB/CMakeLists.txt @@ -8,7 +8,7 @@ set(columnstoreDBWrite_SRCS columnstoreDB.cpp) add_executable(columnstoreDBWrite ${columnstoreDBWrite_SRCS}) -target_link_libraries(columnstoreDBWrite ${ENGINE_LDFLAGS} ncurses ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(columnstoreDBWrite ${ENGINE_LDFLAGS} ncurses ${ENGINE_EXEC_LIBS}) install(TARGETS columnstoreDBWrite DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/oamapps/columnstoreSupport/CMakeLists.txt b/oamapps/columnstoreSupport/CMakeLists.txt index 9cf02c4ca..2aeb77eeb 100644 --- a/oamapps/columnstoreSupport/CMakeLists.txt +++ b/oamapps/columnstoreSupport/CMakeLists.txt @@ -10,7 +10,7 @@ add_executable(columnstoreSupport ${columnstoreSupport_SRCS}) target_compile_options(columnstoreSupport PRIVATE -Wno-unused-result) -target_link_libraries(columnstoreSupport ${ENGINE_LDFLAGS} ncurses ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(columnstoreSupport ${ENGINE_LDFLAGS} ncurses ${ENGINE_EXEC_LIBS}) install(TARGETS columnstoreSupport DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/oamapps/postConfigure/CMakeLists.txt b/oamapps/postConfigure/CMakeLists.txt index f05b301be..470e8ea6d 100644 --- a/oamapps/postConfigure/CMakeLists.txt +++ b/oamapps/postConfigure/CMakeLists.txt @@ -10,7 +10,7 @@ add_executable(mycnfUpgrade ${mycnfUpgrade_SRCS}) target_compile_options(mycnfUpgrade PRIVATE -Wno-unused-result) -target_link_libraries(mycnfUpgrade ${ENGINE_LDFLAGS} ${ENGINE_READLINE_LIBRARY} ncurses ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(mycnfUpgrade ${ENGINE_LDFLAGS} ${ENGINE_READLINE_LIBRARY} ncurses ${ENGINE_EXEC_LIBS}) install(TARGETS mycnfUpgrade DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/primitives/primproc/CMakeLists.txt b/primitives/primproc/CMakeLists.txt index b8d2e3741..a16facd30 100644 --- a/primitives/primproc/CMakeLists.txt +++ b/primitives/primproc/CMakeLists.txt @@ -25,7 +25,7 @@ add_executable(PrimProc ${PrimProc_SRCS}) add_dependencies(PrimProc loggingcpp) -target_link_libraries(PrimProc ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} threadpool cacheutils dbbc processor) +target_link_libraries(PrimProc ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS} threadpool cacheutils dbbc processor) install(TARGETS PrimProc DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/storage-manager/CMakeLists.txt b/storage-manager/CMakeLists.txt index cd71417b8..0f14f1b00 100755 --- a/storage-manager/CMakeLists.txt +++ b/storage-manager/CMakeLists.txt @@ -107,28 +107,24 @@ add_executable(smcat src/smcat.cpp) target_link_libraries(smcat storagemanager cloudio ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} - ${MARIADB_CLIENT_LIBS} ) add_executable(smput src/smput.cpp) target_link_libraries(smput storagemanager cloudio ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} - ${MARIADB_CLIENT_LIBS} ) add_executable(smls src/smls.cpp) target_link_libraries(smls storagemanager cloudio ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} - ${MARIADB_CLIENT_LIBS} ) add_executable(smrm src/smrm.cpp) target_link_libraries(smrm storagemanager cloudio ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} - ${MARIADB_CLIENT_LIBS} ) install(TARGETS storagemanager diff --git a/tools/clearShm/CMakeLists.txt b/tools/clearShm/CMakeLists.txt index b76ab4788..cba87d177 100644 --- a/tools/clearShm/CMakeLists.txt +++ b/tools/clearShm/CMakeLists.txt @@ -8,7 +8,7 @@ set(clearShm_SRCS main.cpp) add_executable(clearShm ${clearShm_SRCS}) -target_link_libraries(clearShm ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(clearShm ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS}) install(TARGETS clearShm DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/cleartablelock/CMakeLists.txt b/tools/cleartablelock/CMakeLists.txt index c4ce10247..7b6b1730f 100644 --- a/tools/cleartablelock/CMakeLists.txt +++ b/tools/cleartablelock/CMakeLists.txt @@ -8,7 +8,7 @@ set(cleartablelock_SRCS cleartablelock.cpp cleartablelockthread.cpp) add_executable(cleartablelock ${cleartablelock_SRCS}) -target_link_libraries(cleartablelock ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS}) +target_link_libraries(cleartablelock ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS}) install(TARGETS cleartablelock DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/configMgt/CMakeLists.txt b/tools/configMgt/CMakeLists.txt index 43f4fbea5..ec730a3f3 100644 --- a/tools/configMgt/CMakeLists.txt +++ b/tools/configMgt/CMakeLists.txt @@ -8,6 +8,6 @@ set(autoConfigure_SRCS autoConfigure.cpp) add_executable(autoConfigure ${autoConfigure_SRCS}) -target_link_libraries(autoConfigure ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(autoConfigure ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) #install(TARGETS autoConfigure DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/cplogger/CMakeLists.txt b/tools/cplogger/CMakeLists.txt index 3f8f79054..9f1b5f612 100644 --- a/tools/cplogger/CMakeLists.txt +++ b/tools/cplogger/CMakeLists.txt @@ -8,7 +8,7 @@ set(cplogger_SRCS main.cpp) add_executable(cplogger ${cplogger_SRCS}) -target_link_libraries(cplogger ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(cplogger ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS}) install(TARGETS cplogger DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/dbbuilder/CMakeLists.txt b/tools/dbbuilder/CMakeLists.txt index d4c4280fe..922f4b766 100644 --- a/tools/dbbuilder/CMakeLists.txt +++ b/tools/dbbuilder/CMakeLists.txt @@ -8,7 +8,7 @@ set(dbbuilder_SRCS dbbuilder.cpp systemcatalog.cpp) add_executable(dbbuilder ${dbbuilder_SRCS}) -target_link_libraries(dbbuilder ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS}) +target_link_libraries(dbbuilder ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS}) install(TARGETS dbbuilder DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/dbloadxml/CMakeLists.txt b/tools/dbloadxml/CMakeLists.txt index d7bc50fa8..cfd4875bd 100644 --- a/tools/dbloadxml/CMakeLists.txt +++ b/tools/dbloadxml/CMakeLists.txt @@ -15,7 +15,7 @@ set(colxml_SRCS colxml.cpp) add_executable(colxml ${colxml_SRCS}) -target_link_libraries(colxml ${ENGINE_LDFLAGS} dbload ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS}) +target_link_libraries(colxml ${ENGINE_LDFLAGS} dbload ${ENGINE_WRITE_LIBS}) install(TARGETS colxml DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/ddlcleanup/CMakeLists.txt b/tools/ddlcleanup/CMakeLists.txt index befdf487b..2247fc1c4 100644 --- a/tools/ddlcleanup/CMakeLists.txt +++ b/tools/ddlcleanup/CMakeLists.txt @@ -8,7 +8,7 @@ set(ddlcleanup_SRCS ddlcleanup.cpp) add_executable(ddlcleanup ${ddlcleanup_SRCS}) -target_link_libraries(ddlcleanup ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ddlcleanuputil) +target_link_libraries(ddlcleanup ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS} ddlcleanuputil) install(TARGETS ddlcleanup DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/editem/CMakeLists.txt b/tools/editem/CMakeLists.txt index 4535c48e3..ea27d99a0 100644 --- a/tools/editem/CMakeLists.txt +++ b/tools/editem/CMakeLists.txt @@ -8,7 +8,7 @@ set(editem_SRCS editem.cpp) add_executable(editem ${editem_SRCS}) -target_link_libraries(editem ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(editem ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) install(TARGETS editem DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/getConfig/CMakeLists.txt b/tools/getConfig/CMakeLists.txt index 0aff38922..80edf254f 100644 --- a/tools/getConfig/CMakeLists.txt +++ b/tools/getConfig/CMakeLists.txt @@ -8,7 +8,7 @@ set(getConfig_SRCS main.cpp) add_executable(mcsGetConfig ${getConfig_SRCS}) -target_link_libraries(mcsGetConfig ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(mcsGetConfig ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS}) install(TARGETS mcsGetConfig DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/rgprint/CMakeLists.txt b/tools/rgprint/CMakeLists.txt index f2f877726..248bdba74 100644 --- a/tools/rgprint/CMakeLists.txt +++ b/tools/rgprint/CMakeLists.txt @@ -8,7 +8,7 @@ set(rgprint_SRCS rgprint.cpp) add_executable(rgprint ${rgprint_SRCS}) -target_link_libraries(rgprint ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS}) +target_link_libraries(rgprint ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS}) install(TARGETS rgprint DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/setConfig/CMakeLists.txt b/tools/setConfig/CMakeLists.txt index 2664f8462..aa5d17883 100644 --- a/tools/setConfig/CMakeLists.txt +++ b/tools/setConfig/CMakeLists.txt @@ -7,7 +7,7 @@ set(setConfig_SRCS main.cpp) add_executable(mcsSetConfig ${setConfig_SRCS}) -target_link_libraries(mcsSetConfig ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(mcsSetConfig ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) install(TARGETS mcsSetConfig DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/tools/viewtablelock/CMakeLists.txt b/tools/viewtablelock/CMakeLists.txt index 7c2e7418e..dcc7a6db3 100644 --- a/tools/viewtablelock/CMakeLists.txt +++ b/tools/viewtablelock/CMakeLists.txt @@ -8,7 +8,7 @@ set(viewtablelock_SRCS viewtablelock.cpp) add_executable(viewtablelock ${viewtablelock_SRCS}) -target_link_libraries(viewtablelock ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(viewtablelock ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS}) install(TARGETS viewtablelock DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/utils/cloudio/CMakeLists.txt b/utils/cloudio/CMakeLists.txt index f94924b99..57535719b 100755 --- a/utils/cloudio/CMakeLists.txt +++ b/utils/cloudio/CMakeLists.txt @@ -21,8 +21,8 @@ add_executable(end_to_end_test end_to_end_test.cpp) # untangle all of that and declare lib dependencies properly. # For now I'm going to do like the other executables, which means # nearly everything AFAICT. -target_link_libraries(cloudio_component_test ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} ${MARIADB_CLIENT_LIBS} cloudio) -target_link_libraries(end_to_end_test ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} ${MARIADB_CLIENT_LIBS} cloudio) +target_link_libraries(cloudio_component_test ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} cloudio) +target_link_libraries(end_to_end_test ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS} cloudio) #target_link_libraries(cloudio_component_test cloudio) # Copy end_to_end_test dataFile to binary directory FILE(COPY testData DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/) diff --git a/utils/libmysql_client/CMakeLists.txt b/utils/libmysql_client/CMakeLists.txt index 726d548b8..1ee90f8e7 100644 --- a/utils/libmysql_client/CMakeLists.txt +++ b/utils/libmysql_client/CMakeLists.txt @@ -1,4 +1,9 @@ +include_directories(BEFORE + ${CMAKE_BINARY_DIR}/libmariadb/include + ${CMAKE_SOURCE_DIR}/libmariadb/include) +add_definitions(-DMYSQL_SERVICE_THD_TIMEZONE_INCLUDED) + include_directories( ${ENGINE_COMMON_INCLUDES} ) ########### next target ############### @@ -6,6 +11,7 @@ include_directories( ${ENGINE_COMMON_INCLUDES} ) set(libmysql_client_LIB_SRCS libmysql_client.cpp) add_library(libmysql_client SHARED ${libmysql_client_LIB_SRCS}) +target_link_libraries(libmysql_client ${MARIADB_CLIENT_LIBS}) add_dependencies(libmysql_client loggingcpp) diff --git a/utils/querystats/CMakeLists.txt b/utils/querystats/CMakeLists.txt index 2e8f4860d..72291789b 100644 --- a/utils/querystats/CMakeLists.txt +++ b/utils/querystats/CMakeLists.txt @@ -1,3 +1,7 @@ +include_directories(BEFORE + ${CMAKE_BINARY_DIR}/libmariadb/include + ${CMAKE_SOURCE_DIR}/libmariadb/include) +add_definitions(-DMYSQL_SERVICE_THD_TIMEZONE_INCLUDED) include_directories( ${ENGINE_COMMON_INCLUDES} ) diff --git a/versioning/BRM/CMakeLists.txt b/versioning/BRM/CMakeLists.txt index db6b809b5..b9745e3e2 100644 --- a/versioning/BRM/CMakeLists.txt +++ b/versioning/BRM/CMakeLists.txt @@ -44,7 +44,7 @@ set(controllernode_SRCS masternode.cpp masterdbrmnode.cpp ../../utils/common/cra add_executable(controllernode ${controllernode_SRCS}) -target_link_libraries(controllernode ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ) +target_link_libraries(controllernode ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ) install(TARGETS controllernode DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) @@ -55,7 +55,7 @@ set(workernode_SRCS slavenode.cpp ../../utils/common/crashtrace.cpp) add_executable(workernode ${workernode_SRCS}) -target_link_libraries(workernode ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(workernode ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS}) install(TARGETS workernode DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) @@ -66,7 +66,7 @@ set(dbrmctl_SRCS dbrmctl.cpp) add_executable(dbrmctl ${dbrmctl_SRCS}) -target_link_libraries(dbrmctl ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS}) +target_link_libraries(dbrmctl ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS}) install(TARGETS dbrmctl DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) @@ -77,7 +77,7 @@ set(reset_locks_SRCS reset_locks.cpp) add_executable(reset_locks ${reset_locks_SRCS}) -target_link_libraries(reset_locks ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) +target_link_libraries(reset_locks ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) install(TARGETS reset_locks DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) @@ -88,7 +88,7 @@ set(rollback_SRCS rollback.cpp) add_executable(rollback ${rollback_SRCS}) -target_link_libraries(rollback ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) +target_link_libraries(rollback ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) install(TARGETS rollback DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) @@ -99,7 +99,7 @@ set(save_brm_SRCS save_brm.cpp) add_executable(save_brm ${save_brm_SRCS}) -target_link_libraries(save_brm ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) +target_link_libraries(save_brm ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) install(TARGETS save_brm DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) @@ -110,7 +110,6 @@ set(load_brm_SRCS load_brm.cpp) add_executable(load_brm ${load_brm_SRCS}) -target_link_libraries(load_brm ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) +target_link_libraries(load_brm ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES}) install(TARGETS load_brm DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) - diff --git a/writeengine/bulk/CMakeLists.txt b/writeengine/bulk/CMakeLists.txt index 9a4c4c37f..10d360cb7 100644 --- a/writeengine/bulk/CMakeLists.txt +++ b/writeengine/bulk/CMakeLists.txt @@ -40,7 +40,7 @@ set(cpimport.bin_SRCS cpimport.cpp) add_executable(cpimport.bin ${cpimport.bin_SRCS}) add_dependencies(cpimport.bin marias3) -target_link_libraries(cpimport.bin ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${S3API_DEPS} we_bulk we_xml) +target_link_libraries(cpimport.bin ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS} ${S3API_DEPS} we_bulk we_xml) install(TARGETS cpimport.bin DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/writeengine/server/CMakeLists.txt b/writeengine/server/CMakeLists.txt index 1165dde47..c9ce0c6f6 100644 --- a/writeengine/server/CMakeLists.txt +++ b/writeengine/server/CMakeLists.txt @@ -22,7 +22,7 @@ add_executable(WriteEngineServer ${WriteEngineServer_SRCS}) add_dependencies(WriteEngineServer loggingcpp) -target_link_libraries(WriteEngineServer ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS} threadpool writeengineredistribute) +target_link_libraries(WriteEngineServer ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS} threadpool writeengineredistribute) install(TARGETS WriteEngineServer DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine) diff --git a/writeengine/splitter/CMakeLists.txt b/writeengine/splitter/CMakeLists.txt index 9974c4e40..c84b20dfa 100644 --- a/writeengine/splitter/CMakeLists.txt +++ b/writeengine/splitter/CMakeLists.txt @@ -19,7 +19,7 @@ add_executable(cpimport ${cpimport_SRCS}) add_dependencies(cpimport loggingcpp) -target_link_libraries(cpimport ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} batchloader threadpool marias3) +target_link_libraries(cpimport ${ENGINE_LDFLAGS} ${NETSNMP_LIBRARIES} ${ENGINE_WRITE_LIBS} batchloader threadpool marias3) install(TARGETS cpimport DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)