diff options
author | Zlika <zlika_ese@hotmail.com> | 2019-09-17 17:58:18 +0300 |
---|---|---|
committer | Zlika <zlika_ese@hotmail.com> | 2019-09-17 18:20:51 +0300 |
commit | dbe7804e32195d25b3f8a9e7db8b97488e832554 (patch) | |
tree | 32626715921a95099fe0210f7d542fc6f0902941 /plugins | |
parent | 456e376fd3141c80627e00d065a17d008cadf17c (diff) |
Make cups an optional dependency
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/rdp/CMakeLists.txt | 14 | ||||
-rw-r--r-- | plugins/rdp/rdp_plugin.c | 11 |
2 files changed, 19 insertions, 6 deletions
diff --git a/plugins/rdp/CMakeLists.txt b/plugins/rdp/CMakeLists.txt index c7fb91488..90c8966b7 100644 --- a/plugins/rdp/CMakeLists.txt +++ b/plugins/rdp/CMakeLists.txt @@ -37,8 +37,7 @@ set(CMAKE_THREAD_PREFER_PTHREAD TRUE) find_package(Threads REQUIRED) find_package(X11) -find_required_package(Cups) - +find_suggested_package(Cups) set(REMMINA_PLUGIN_RDP_SRCS rdp_plugin.c @@ -65,9 +64,16 @@ add_library(remmina-plugin-rdp MODULE ${REMMINA_PLUGIN_RDP_SRCS}) set_target_properties(remmina-plugin-rdp PROPERTIES PREFIX "") set_target_properties(remmina-plugin-rdp PROPERTIES NO_SONAME 1) -include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${FREERDP_INCLUDE_DIRS} ${X11_INCLUDE_DIR} ${CUPS_INCLUDE_DIR}) +include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${FREERDP_INCLUDE_DIRS} ${X11_INCLUDE_DIR}) target_link_libraries(remmina-plugin-rdp - ${REMMINA_COMMON_LIBRARIES} ${FREERDP_LIBRARIES} ${X11_LIBRARIES} ${CUPS_LIBRARIES}) + ${REMMINA_COMMON_LIBRARIES} ${FREERDP_LIBRARIES} ${X11_LIBRARIES}) + +if(CUPS_FOUND) + add_definitions(-DHAVE_CUPS) + include_directories(${CUPS_INCLUDE_DIR}) + target_link_libraries(remmina-plugin-rdp + ${REMMINA_COMMON_LIBRARIES} ${FREERDP_LIBRARIES} ${X11_LIBRARIES} ${CUPS_LIBRARIES}) +endif() install(TARGETS remmina-plugin-rdp DESTINATION ${REMMINA_PLUGINDIR}) diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c index 5e7621128..d836c3978 100644 --- a/plugins/rdp/rdp_plugin.c +++ b/plugins/rdp/rdp_plugin.c @@ -55,7 +55,10 @@ #include <freerdp/client/cmdline.h> #include <freerdp/error.h> #include <winpr/memory.h> -#include <cups/cups.h> + +#ifdef HAVE_CUPS + #include <cups/cups.h> +#endif #include <string.h> @@ -829,10 +832,11 @@ found: } +#ifdef HAVE_CUPS /** * Callback function used by cupsEnumDests * - For each enumerated local printer tries to set the Printer Name and Driver. - * @return 1 if there arte other printers to scan or 0 when it's done. + * @return 1 if there are other printers to scan or 0 when it's done. */ int remmina_rdp_set_printers(void *user_data, unsigned flags, cups_dest_t *dest) { @@ -891,6 +895,7 @@ int remmina_rdp_set_printers(void *user_data, unsigned flags, cups_dest_t *dest) } return (1); } +#endif /* HAVE_CUPS */ /* Send CTRL+ALT+DEL keys keystrokes to the plugin drawing_area widget */ static void remmina_rdp_send_ctrlaltdel(RemminaProtocolWidget *gp) @@ -1263,12 +1268,14 @@ static gboolean remmina_rdp_main(RemminaProtocolWidget* gp) rfi->settings->DeviceRedirection = TRUE; remmina_rdp_load_static_channel_addin(channels, rfi->settings, "rdpdr", rfi->settings); +#ifdef HAVE_CUPS if (cupsEnumDests(CUPS_DEST_FLAGS_NONE, 1000, NULL, 0, 0, remmina_rdp_set_printers, rfi)) { g_debug ("Sharing printers"); } else { g_debug ("Cannot share printers, are there any available?"); } +#endif /* HAVE_CUPS */ } if (remmina_plugin_service->file_get_int(remminafile, "sharesmartcard", FALSE)) { |