From 4900c27cc284ba2f671ae92e6ffb4ab391f9507a Mon Sep 17 00:00:00 2001 From: Robert Middleton Date: Mon, 6 Feb 2023 20:39:02 -0500 Subject: [PATCH] Make ODBC and SMTP opt-in (#191) See #189 Upstream: afeaab6d0f0107c77dfadcbe3708f170c48d5ed9 Signed-off-by: Thomas Petazzoni --- src/main/include/CMakeLists.txt | 40 ++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/src/main/include/CMakeLists.txt b/src/main/include/CMakeLists.txt index e31443fb..d6835293 100644 --- a/src/main/include/CMakeLists.txt +++ b/src/main/include/CMakeLists.txt @@ -85,22 +85,42 @@ include(CheckIncludeFiles) include(CheckIncludeFileCXX) include(CheckLibraryExists) -if(WIN32) - CHECK_INCLUDE_FILES(sqlext.h HAS_ODBC) +option(LOG4CXX_ENABLE_ODBC "Support logging via ODBC" OFF) +if(LOG4CXX_ENABLE_ODBC) + if(WIN32) + CHECK_INCLUDE_FILES(sqlext.h HAS_ODBC) + else() + include(FindPkgConfig) + + pkg_check_modules( odbc odbc ) + if(${odbc_FOUND}) + set(HAS_ODBC 1) + else() + set(HAS_ODBC 0) + endif(${odbc_FOUND}) + endif(WIN32) + + if(NOT ${HAS_ODBC}) + message(SEND_ERROR "ODBC not found but requested") + endif() else() - include(FindPkgConfig) - - pkg_check_modules( odbc QUIET odbc ) - if(${odbc_FOUND}) - set(HAS_ODBC 1) - endif(${odbc_FOUND}) -endif(WIN32) + set(HAS_ODBC 0) +endif(LOG4CXX_ENABLE_ODBC) + +option(LOG4CXX_ENABLE_ESMTP "Support logging via libesmtp" OFF) +if(LOG4CXX_ENABLE_ESMTP) + CHECK_LIBRARY_EXISTS(esmtp smtp_create_session "" HAS_LIBESMTP) + if(NOT HAS_LIBESMTP) + message(SEND_ERROR "SMTP support with libesmtp not found but requested") + endif() +else() + set(HAS_LIBESMTP 0) +endif(LOG4CXX_ENABLE_ESMTP) CHECK_INCLUDE_FILE_CXX(locale HAS_STD_LOCALE) CHECK_FUNCTION_EXISTS(mbsrtowcs HAS_MBSRTOWCS) CHECK_FUNCTION_EXISTS(wcstombs HAS_WCSTOMBS) CHECK_FUNCTION_EXISTS(fwide HAS_FWIDE) -CHECK_LIBRARY_EXISTS(esmtp smtp_create_session "" HAS_LIBESMTP) CHECK_FUNCTION_EXISTS(syslog HAS_SYSLOG) if(UNIX) set(CMAKE_REQUIRED_LIBRARIES "pthread") -- 2.41.0