1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00
Files
mariadb-columnstore-engine/utils/cloudio/CMakeLists.txt
Sergei Golubchik d31b669995 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
2022-11-02 18:47:44 +01:00

30 lines
1.4 KiB
CMake
Executable File

include_directories(${ENGINE_COMMON_INCLUDES} ${ENGINE_SRC_DIR}/storage-manager/include)
set(cloudio_LIB_SRCS SMComm.cpp SMDataFile.cpp SMFileFactory.cpp SMFileSystem.cpp SocketPool.cpp cloud_plugin.cpp ../../datatypes/mcs_datatype.cpp)
add_library(cloudio SHARED ${cloudio_LIB_SRCS})
# IDBDataFile currently depends on cloudio, which is backward.
# Once cloudio has been turned into a proper plugin for idbdatafile,
# we should be able to reverse the dependency like so:
target_link_libraries(cloudio idbdatafile messageqcpp loggingcpp)
install(TARGETS cloudio DESTINATION ${ENGINE_LIBDIR} COMPONENT columnstore-engine)
add_executable(cloudio_component_test component_test.cpp)
add_executable(end_to_end_test end_to_end_test.cpp)
# see the comment above and change this dependency to cloudio. Hm
# our lib dependencies seem not to be declared. Punting on that,
# maybe in the future we can have some poor unfortunate intern
# 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} 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}/)