From ad51c6a0f538ab121edef5eb705bfce69e374b61 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Thu, 24 Aug 2023 09:08:44 +0200 Subject: [PATCH] [channels,printer] default CUPS to being enabled * printer support now enabled by default unless iOS or ANDROID is build. * Move cups library detection to printer module --- CMakeLists.txt | 8 -------- channels/printer/ChannelOptions.cmake | 19 ++++++++++++++----- channels/printer/client/cups/CMakeLists.txt | 3 ++- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e2865273..ff079f73b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -612,10 +612,6 @@ set(PULSE_FEATURE_TYPE "RECOMMENDED") set(PULSE_FEATURE_PURPOSE "sound") set(PULSE_FEATURE_DESCRIPTION "audio input, audio output and multimedia redirection") -set(CUPS_FEATURE_TYPE "RECOMMENDED") -set(CUPS_FEATURE_PURPOSE "printing") -set(CUPS_FEATURE_DESCRIPTION "printer device redirection") - set(PCSC_FEATURE_TYPE "RECOMMENDED") set(PCSC_FEATURE_PURPOSE "smart card") set(PCSC_FEATURE_DESCRIPTION "smart card device redirection") @@ -670,7 +666,6 @@ if(WIN32) set(ALSA_FEATURE_TYPE "DISABLED") set(SNDIO_FEATURE_TYPE "DISABLED") set(PULSE_FEATURE_TYPE "DISABLED") - set(CUPS_FEATURE_TYPE "DISABLED") set(PCSC_FEATURE_TYPE "DISABLED") set(FFMPEG_FEATURE_TYPE "OPTIONAL") set(VAAPI_FEATURE_TYPE "DISABLED") @@ -686,7 +681,6 @@ if(APPLE) set(SNDIO_FEATURE_TYPE "DISABLED") if(IOS) set(PULSE_FEATURE_TYPE "DISABLED") - set(CUPS_FEATURE_TYPE "DISABLED") set(PCSC_FEATURE_TYPE "DISABLED") endif() set(OPENSLES_FEATURE_TYPE "DISABLED") @@ -713,7 +707,6 @@ if(ANDROID) set(ALSA_FEATURE_TYPE "DISABLED") set(SNDIO_FEATURE_TYPE "DISABLED") set(PULSE_FEATURE_TYPE "DISABLED") - set(CUPS_FEATURE_TYPE "DISABLED") set(PCSC_FEATURE_TYPE "DISABLED") set(VAAPI_FEATURE_TYPE "DISABLED") set(OPENSLES_FEATURE_TYPE "REQUIRED") @@ -729,7 +722,6 @@ find_feature(OSS ${OSS_FEATURE_TYPE} ${OSS_FEATURE_PURPOSE} ${OSS_FEATURE_DESCRI find_feature(ALSA ${ALSA_FEATURE_TYPE} ${ALSA_FEATURE_PURPOSE} ${ALSA_FEATURE_DESCRIPTION}) find_feature(Pulse ${PULSE_FEATURE_TYPE} ${PULSE_FEATURE_PURPOSE} ${PULSE_FEATURE_DESCRIPTION}) -find_feature(Cups ${CUPS_FEATURE_TYPE} ${CUPS_FEATURE_PURPOSE} ${CUPS_FEATURE_DESCRIPTION}) find_feature(PCSC ${PCSC_FEATURE_TYPE} ${PCSC_FEATURE_PURPOSE} ${PCSC_FEATURE_DESCRIPTION}) option(WITH_AAD "Compile with support for Azure AD authentication" ON) diff --git a/channels/printer/ChannelOptions.cmake b/channels/printer/ChannelOptions.cmake index 86dad03ad..2989ba532 100644 --- a/channels/printer/ChannelOptions.cmake +++ b/channels/printer/ChannelOptions.cmake @@ -6,12 +6,21 @@ set(OPTION_SERVER_DEFAULT OFF) if(WIN32) set(OPTION_CLIENT_DEFAULT ON) set(OPTION_SERVER_DEFAULT OFF) -elseif(WITH_CUPS) - set(OPTION_CLIENT_DEFAULT ON) - set(OPTION_SERVER_DEFAULT OFF) else() - set(OPTION_CLIENT_DEFAULT OFF) - set(OPTION_SERVER_DEFAULT OFF) + # cups is available on mac os and linux by default, on android it is optional. + if (NOT IOS AND NOT ANDROID) + set(CUPS_DEFAULT ON) + else() + set(CUPS_DEFAULT OFF) + endif() + option(WITH_CUPS "CUPS printer support" ${CUPS_DEFAULT}) + if(WITH_CUPS) + set(OPTION_CLIENT_DEFAULT ON) + set(OPTION_SERVER_DEFAULT OFF) + else() + set(OPTION_CLIENT_DEFAULT OFF) + set(OPTION_SERVER_DEFAULT OFF) + endif() endif() define_channel_options(NAME "printer" TYPE "device" diff --git a/channels/printer/client/cups/CMakeLists.txt b/channels/printer/client/cups/CMakeLists.txt index 777369358..c573120da 100644 --- a/channels/printer/client/cups/CMakeLists.txt +++ b/channels/printer/client/cups/CMakeLists.txt @@ -17,6 +17,7 @@ # limitations under the License. define_channel_client_subsystem("printer" "cups" "") +find_package(Cups REQUIRED) set(${MODULE_PREFIX}_SRCS printer_cups.c) @@ -27,6 +28,6 @@ set(${MODULE_PREFIX}_LIBS ) include_directories(..) -include_directories(${CUPS_INCLUDE_DIR}) +include_directories(${CUPS_INCLUDE_DIRS}) add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")