Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZlika <zlika_ese@hotmail.com>2019-09-17 17:58:18 +0300
committerZlika <zlika_ese@hotmail.com>2019-09-17 18:20:51 +0300
commitdbe7804e32195d25b3f8a9e7db8b97488e832554 (patch)
tree32626715921a95099fe0210f7d542fc6f0902941 /plugins
parent456e376fd3141c80627e00d065a17d008cadf17c (diff)
Make cups an optional dependency
Diffstat (limited to 'plugins')
-rw-r--r--plugins/rdp/CMakeLists.txt14
-rw-r--r--plugins/rdp/rdp_plugin.c11
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)) {