initial implementation of the CMake build system

This commit is contained in:
Markus Makela
2014-09-11 18:24:41 +03:00
parent 30c52677b0
commit b3ce971020
16 changed files with 199 additions and 0 deletions

View File

@ -0,0 +1,5 @@
include_directories(monitor)
add_subdirectory(routing)
add_subdirectory(protocol)
add_subdirectory(monitor)
add_subdirectory(filter)

View File

@ -0,0 +1,33 @@
if(BUILD_RABBITMQ)
add_library(mqfilter SHARED mqfilter.c)
set_target_properties(mqfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(mqfilter utils query_classifier log_manager rabbitmq)
install(TARGETS DESTINATION modules)
endif(BUILD_RABBITMQ)
add_library(regexfilter SHARED regexfilter.c)
set_target_properties(regexfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(regexfilter utils log_manager)
install(TARGETS regexfilter DESTINATION modules)
add_library(testfilter SHARED testfilter.c)
set_target_properties(testfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(testfilter utils log_manager)
install(TARGETS testfilter DESTINATION modules)
add_library(qlafilter SHARED qlafilter.c)
set_target_properties(qlafilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(qlafilter utils log_manager)
install(TARGETS qlafilter DESTINATION modules)
add_library(tee SHARED tee.c)
set_target_properties(tee PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(tee utils log_manager)
install(TARGETS tee DESTINATION modules)
add_library(topfilter SHARED topfilter.c)
set_target_properties(topfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(topfilter utils log_manager)
install(TARGETS topfilter DESTINATION modules)
add_subdirectory(hint)

View File

@ -0,0 +1,4 @@
add_library(hintfilter SHARED hintfilter.c hintparser.c)
set_target_properties(hintfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(hintfilter utils ssl log_manager)
install(TARGETS hintfilter DESTINATION modules)

View File

@ -0,0 +1,14 @@
add_library(mysqlmon SHARED mysql_mon.c)
set_target_properties(mysqlmon PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(mysqlmon utils log_manager mysqld)
install(TARGETS mysqlmon DESTINATION modules)
add_library(galeramon SHARED galera_mon.c)
set_target_properties(galeramon PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(galeramon utils log_manager mysqld)
install(TARGETS galeramon DESTINATION modules)
add_library(ndbclustermon SHARED ndbcluster_mon.c)
set_target_properties(ndbclustermon PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(ndbclustermon utils log_manager mysqld)
install(TARGETS ndbclustermon DESTINATION modules)

View File

@ -0,0 +1,29 @@
add_library(MySQLClient SHARED mysql_client.c mysql_common.c)
set_target_properties(MySQLClient PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(MySQLClient utils log_manager)
install(TARGETS MySQLClient DESTINATION modules)
add_library(MySQLBackend SHARED mysql_backend.c mysql_common.c)
set_target_properties(MySQLBackend PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(MySQLBackend utils log_manager)
install(TARGETS MySQLBackend DESTINATION modules)
add_library(telnetd SHARED telnetd.c)
set_target_properties(telnetd PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(telnetd utils log_manager)
install(TARGETS telnetd DESTINATION modules)
add_library(HTTPD SHARED httpd.c)
set_target_properties(HTTPD PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(HTTPD utils log_manager)
install(TARGETS HTTPD DESTINATION modules)
add_library(maxscaled SHARED maxscaled.c)
set_target_properties(maxscaled PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(maxscaled utils log_manager)
install(TARGETS maxscaled DESTINATION modules)

View File

@ -0,0 +1,22 @@
add_library(testroute SHARED testroute.c)
set_target_properties(testroute PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(testroute utils log_manager)
install(TARGETS testroute DESTINATION modules)
add_library(readconnroute SHARED readconnroute.c)
set_target_properties(readconnroute PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(readconnroute utils log_manager)
install(TARGETS readconnroute DESTINATION modules)
add_library(debugcli SHARED debugcli.c debugcmd.c)
set_target_properties(debugcli PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(debugcli utils log_manager)
install(TARGETS debugcli DESTINATION modules)
add_library(cli SHARED cli.c debugcmd.c)
set_target_properties(cli PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(cli utils log_manager)
install(TARGETS cli DESTINATION modules)
add_subdirectory(readwritesplit)
add_subdirectory(binlog)

View File

@ -0,0 +1,4 @@
add_library(binlogrouter SHARED blr.c blr_master.c blr_cache.c blr_slave.c blr_file.c)
set_target_properties(binlogrouter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(binlogrouter ssl pthread log_manager mysqld)
install(TARGETS binlogrouter DESTINATION modules)

View File

@ -0,0 +1,4 @@
add_library(readwritesplit SHARED readwritesplit.c)
set_target_properties(readwritesplit PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(readwritesplit utils ssl pthread log_manager query_classifier mysqld)
install(TARGETS readwritesplit DESTINATION modules)