diff --git a/maxscale-system-test/CMakeLists.txt b/maxscale-system-test/CMakeLists.txt index 0d27b07fb..9dedbad9d 100644 --- a/maxscale-system-test/CMakeLists.txt +++ b/maxscale-system-test/CMakeLists.txt @@ -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) diff --git a/maxscale-system-test/cdc_connector/CMakeLists.txt b/maxscale-system-test/cdc_connector/CMakeLists.txt index 88f3d56fe..acdac8897 100644 --- a/maxscale-system-test/cdc_connector/CMakeLists.txt +++ b/maxscale-system-test/cdc_connector/CMakeLists.txt @@ -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) diff --git a/maxscale-system-test/utilities.cmake b/maxscale-system-test/utilities.cmake index 27deb9f16..bf6e72a4b 100644 --- a/maxscale-system-test/utilities.cmake +++ b/maxscale-system-test/utilities.cmake @@ -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)