MaxScale/server/core/CMakeLists.txt
Esa Korhonen 78cc5b2445 Move packet_tracker.cc under maxscale
It depends on MaxScale-types. This also removes the maxsql-pcre2-dependency.
2019-09-18 12:19:09 +03:00

120 lines
2.4 KiB
CMake

add_library(maxscale-common SHARED
admin.cc
adminusers.cc
authenticator.cc
backend.cc
buffer.cc
config.cc
config2.cc
config_runtime.cc
dcb.cc
encryption.cc
event.cc
externcmd.cc
filter.cc
hint.cc
httprequest.cc
httpresponse.cc
json_api.cc
listener.cc
load_utils.cc
log.cc
mainworker.cc
mariadb.cc
maxscale_pcre2.cc
misc.cc
modulecmd.cc
modutil.cc
monitor.cc
monitormanager.cc
mysql_binlog.cc
mysql_utils.cc
packet_tracker.cc
paths.cc
poll.cc
queryclassifier.cc
query_classifier.cc
random.cc
resource.cc
response_stat.cc
resultset.cc
router.cc
routingworker.cc
secrets.cc
server.cc
service.cc
session.cc
session_command.cc
ssl.cc
users.cc
utils.cc
session_stats.cc
)
target_link_libraries(maxscale-common
maxbase
maxsql
${MARIADB_CONNECTOR_LIBRARIES}
${LZMA_LINK_FLAGS}
${PCRE2_LIBRARIES}
${JANSSON_LIBRARIES}
ssl
pthread
crypt
crypto
inih
z
rt
m
sqlite3
stdc++
gnutls
gcrypt
${MICROHTTPD_LIBRARIES}
)
if(WITH_ASAN AND ASAN_FOUND)
target_link_libraries(maxscale-common ${ASAN_LIBRARIES})
elseif(WITH_UBSAN AND UBSAN_FOUND)
target_link_libraries(maxscale-common ${UBSAN_LIBRARIES})
endif()
find_library(HAVE_LIBDL NAMES dl)
if (HAVE_LIBDL)
# libdl just exposes libc functionality on most systems. This means that if
# we can't find it, it's likely that libc already exposes the symbols.
target_link_libraries(maxscale-common dl)
endif()
# Using initial-exec instead of the default global-dynamic tls-model
# reduces the cost of using thread-local variables in dynamic libraries.
target_compile_options(maxscale-common PRIVATE "-ftls-model=initial-exec")
add_dependencies(maxscale-common pcre2 connector-c libmicrohttpd jansson maxbase)
set_target_properties(maxscale-common PROPERTIES VERSION "1.0.0")
install_module(maxscale-common core)
add_executable(maxscale gateway.cc)
add_dependencies(maxscale pcre2)
if(WITH_JEMALLOC)
target_link_libraries(maxscale ${JEMALLOC_LIBRARIES})
elseif(WITH_TCMALLOC)
target_link_libraries(maxscale ${TCMALLOC_LIBRARIES})
endif()
target_link_libraries(maxscale maxscale-common)
install_executable(maxscale core)
add_executable(maxkeys maxkeys.cc)
target_link_libraries(maxkeys maxscale-common)
install_executable(maxkeys core)
add_executable(maxpasswd maxpasswd.cc)
target_link_libraries(maxpasswd maxscale-common)
install_executable(maxpasswd core)
if(BUILD_TESTS)
add_subdirectory(test)
endif()