Files
MaxScale/server/modules/routing/avrorouter/CMakeLists.txt
Markus Mäkelä 7c18696608 Abstract all row event processing
The code that handles the Avro files is now fully abstracted behind the
AvroConverter class that implements the RowEventHandler interface.

The code still has some avro specific behavior in a few places (parsing of
JSON files into TableCreate objects). This can be replaced, if needed, by
querying the master server for the CREATE TABLE statements.
2018-06-08 12:18:14 +03:00

27 lines
1.1 KiB
CMake

if(AVRO_FOUND AND JANSSON_FOUND)
include_directories(${AVRO_INCLUDE_DIR})
include_directories(${JANSSON_INCLUDE_DIR})
# The common avrorouter functionality
add_library(avro-common SHARED avro.cc ../binlogrouter/binlog_common.cc avro_client.cc
avro_schema.cc avro_rbr.cc avro_file.cc avro_index.cc avro_converter.cc)
set_target_properties(avro-common PROPERTIES VERSION "1.0.0")
set_target_properties(avro-common PROPERTIES LINK_FLAGS -Wl,-z,defs)
target_link_libraries(avro-common maxscale-common ${JANSSON_LIBRARIES} ${AVRO_LIBRARIES} maxavro lzma)
install_module(avro-common core)
# The actual avrorouter implementation
add_library(avrorouter SHARED avro_main.cc)
set_target_properties(avrorouter PROPERTIES VERSION "1.0.0")
set_target_properties(avrorouter PROPERTIES LINK_FLAGS -Wl,-z,defs)
target_link_libraries(avrorouter avro-common)
install_module(avrorouter core)
if (BUILD_TESTS)
add_subdirectory(test)
endif()
else()
message(FATAL_ERROR "No Avro C or Jansson libraries found, cannot build avrorouter. "
"Use the -DBUILD_CDC=N option to `cmake` to disable building of the avrorouter.")
endif()