MXS-1413: Make the CDC connector a standalone library
The library is still located in the test directory but the way it is now built allows it to be used like a standalone library
This commit is contained in:
@ -45,17 +45,13 @@ else()
|
|||||||
message(WARNING "Java not found, Java based tests are not run.")
|
message(WARNING "Java not found, Java based tests are not run.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Build the CDC connector
|
|
||||||
add_subdirectory(cdc_connector)
|
|
||||||
include_directories(cdc_connector)
|
|
||||||
|
|
||||||
# The core library
|
# The core library
|
||||||
add_library(testcore SHARED testconnections.cpp mariadb_nodes.cpp
|
add_library(testcore SHARED testconnections.cpp mariadb_nodes.cpp
|
||||||
mariadb_func.cpp get_com_select_insert.cpp maxadmin_operations.cpp big_transaction.cpp
|
mariadb_func.cpp get_com_select_insert.cpp maxadmin_operations.cpp big_transaction.cpp
|
||||||
sql_t1.cpp test_binlog_fnc.cpp get_my_ip.cpp big_load.cpp get_com_select_insert.cpp
|
sql_t1.cpp test_binlog_fnc.cpp get_my_ip.cpp big_load.cpp get_com_select_insert.cpp
|
||||||
different_size.cpp fw_copy_rules maxinfo_func.cpp config_operations.cpp rds_vpc.cpp execute_cmd.cpp
|
different_size.cpp fw_copy_rules maxinfo_func.cpp config_operations.cpp rds_vpc.cpp execute_cmd.cpp
|
||||||
blob_test.cpp)
|
blob_test.cpp)
|
||||||
target_link_libraries(testcore ${MYSQL_CLIENT} z crypt nsl m pthread ssl crypto dl rt cdc_connector)
|
target_link_libraries(testcore ${MYSQL_CLIENT} z crypt nsl m pthread ssl crypto dl rt ${CDC_CONNECTOR_LIBRARIES} jansson)
|
||||||
install(TARGETS testcore DESTINATION system-test)
|
install(TARGETS testcore DESTINATION system-test)
|
||||||
add_dependencies(testcore connector-c cdc_connector)
|
add_dependencies(testcore connector-c cdc_connector)
|
||||||
|
|
||||||
|
@ -1,9 +1,15 @@
|
|||||||
|
project(cdc_connector)
|
||||||
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
|
||||||
|
include(ExternalProject)
|
||||||
include(cmake/BuildJansson.cmake)
|
include(cmake/BuildJansson.cmake)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-std=c++0x")
|
set(CMAKE_CXX_FLAGS "-fPIC -std=c++0x")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-std=c++0x -ggdb")
|
set(CMAKE_CXX_FLAGS_DEBUG "-fPIC -std=c++0x -ggdb")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-std=c++0x -O2")
|
set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -std=c++0x -O2")
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-std=c++0x -O2")
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-fPIC -std=c++0x -O2")
|
||||||
|
|
||||||
include_directories(${JANSSON_INCLUDE_DIR})
|
include_directories(${JANSSON_INCLUDE_DIR})
|
||||||
add_library(cdc_connector STATIC cdc_connector.cpp)
|
add_library(cdc_connector STATIC cdc_connector.cpp)
|
||||||
@ -11,3 +17,5 @@ target_link_libraries(cdc_connector ${JANSSON_LIBRARIES})
|
|||||||
add_dependencies(cdc_connector jansson)
|
add_dependencies(cdc_connector jansson)
|
||||||
install(TARGETS cdc_connector DESTINATION lib)
|
install(TARGETS cdc_connector DESTINATION lib)
|
||||||
install(FILES cdc_connector.h DESTINATION include)
|
install(FILES cdc_connector.h DESTINATION include)
|
||||||
|
|
||||||
|
include(CTest)
|
||||||
|
@ -102,3 +102,14 @@ ExternalProject_Add(connector-c
|
|||||||
|
|
||||||
include_directories(${CMAKE_BINARY_DIR}/include)
|
include_directories(${CMAKE_BINARY_DIR}/include)
|
||||||
set(MYSQL_CLIENT ${CMAKE_BINARY_DIR}/lib/mariadb/libmariadbclient.a CACHE INTERNAL "")
|
set(MYSQL_CLIENT ${CMAKE_BINARY_DIR}/lib/mariadb/libmariadbclient.a CACHE INTERNAL "")
|
||||||
|
|
||||||
|
# Build the CDC connector
|
||||||
|
ExternalProject_Add(cdc_connector
|
||||||
|
SOURCE_DIR ${CMAKE_SOURCE_DIR}/cdc_connector/
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/cdc_connector/
|
||||||
|
BUILD_COMMAND make
|
||||||
|
INSTALL_COMMAND make install)
|
||||||
|
|
||||||
|
set(CDC_CONNECTOR_INCLUDE ${CMAKE_BINARY_DIR}/cdc_connector/include/ CACHE INTERNAL "")
|
||||||
|
set(CDC_CONNECTOR_LIBRARIES ${CMAKE_BINARY_DIR}/cdc_connector/lib/libcdc_connector.a CACHE INTERNAL "")
|
||||||
|
include_directories(${CMAKE_BINARY_DIR}/cdc_connector/include)
|
||||||
|
Reference in New Issue
Block a user