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:
Markus Mäkelä
2017-09-14 18:56:02 +03:00
parent 3541d6e0a4
commit 062a358077
3 changed files with 24 additions and 9 deletions

View File

@ -45,17 +45,13 @@ else()
message(WARNING "Java not found, Java based tests are not run.")
endif()
# Build the CDC connector
add_subdirectory(cdc_connector)
include_directories(cdc_connector)
# The core library
add_library(testcore SHARED testconnections.cpp mariadb_nodes.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
different_size.cpp fw_copy_rules maxinfo_func.cpp config_operations.cpp rds_vpc.cpp execute_cmd.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)
add_dependencies(testcore connector-c cdc_connector)

View File

@ -1,9 +1,15 @@
project(cdc_connector)
cmake_minimum_required(VERSION 2.8)
enable_testing()
include(ExternalProject)
include(cmake/BuildJansson.cmake)
set(CMAKE_CXX_FLAGS "-std=c++0x")
set(CMAKE_CXX_FLAGS_DEBUG "-std=c++0x -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "-std=c++0x -O2")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-std=c++0x -O2")
set(CMAKE_CXX_FLAGS "-fPIC -std=c++0x")
set(CMAKE_CXX_FLAGS_DEBUG "-fPIC -std=c++0x -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -std=c++0x -O2")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-fPIC -std=c++0x -O2")
include_directories(${JANSSON_INCLUDE_DIR})
add_library(cdc_connector STATIC cdc_connector.cpp)
@ -11,3 +17,5 @@ target_link_libraries(cdc_connector ${JANSSON_LIBRARIES})
add_dependencies(cdc_connector jansson)
install(TARGETS cdc_connector DESTINATION lib)
install(FILES cdc_connector.h DESTINATION include)
include(CTest)

View File

@ -102,3 +102,14 @@ ExternalProject_Add(connector-c
include_directories(${CMAKE_BINARY_DIR}/include)
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)