summaryrefslogtreecommitdiffstats
path: root/plugins/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/CMakeLists.txt')
-rw-r--r--plugins/CMakeLists.txt195
1 files changed, 195 insertions, 0 deletions
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
new file mode 100644
index 0000000..acb93e0
--- /dev/null
+++ b/plugins/CMakeLists.txt
@@ -0,0 +1,195 @@
+# Remmina - The GTK+ Remote Desktop Client
+#
+# Copyright (C) 2011 Marc-Andre Moreau
+# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
+# Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# In addition, as a special exception, the copyright holders give
+# permission to link the code of portions of this program with the
+# OpenSSL library under certain conditions as described in each
+# individual source file, and distribute linked combinations
+# including the two.
+# You must obey the GNU General Public License in all respects
+# for all of the code used other than OpenSSL. If you modify
+# file(s) with this exception, you may extend this exception to your
+# version of the file(s), but you are not obligated to do so. If you
+# do not wish to do so, delete this exception statement from your
+# version. If you delete this exception statement from all source
+# files in the program, then also delete it here.
+
+# Needed FreeRDP version to build freerdp plugin
+
+
+include_directories(${CMAKE_SOURCE_DIR}/plugins)
+
+set(APPICONSCALE_EMBLEMS_DIR "${REMMINA_DATADIR}/icons/hicolor/scalable/emblems")
+
+set(REMMINA_COMMON_INCLUDE_DIRS ${GTK3_INCLUDE_DIRS})
+set(REMMINA_COMMON_LIBRARIES ${GTK_LIBRARIES} ${Intl_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+
+find_suggested_package(LIBSSH)
+if(LIBSSH_FOUND)
+ add_definitions(-DHAVE_LIBSSH)
+ include_directories(${SSH_INCLUDE_DIRS})
+ target_link_libraries(remmina ${SSH_LIBRARIES})
+endif()
+
+option(WITH_FREERDP3 "Compile the RDP plugin using symbols from FreeRDP3" OFF)
+if (WITH_FREERDP3)
+ set(FREERDP_REQUIRED_VERSION 3)
+ set(FREERDP_REQUIRED_MAJOR 3)
+ set(FREERDP_REQUIRED_MINOR 0)
+ set(FREERDP_REQUIRED_REVISION 0)
+else()
+ set(FREERDP_REQUIRED_VERSION 2)
+ set(FREERDP_REQUIRED_MAJOR 2)
+ set(FREERDP_REQUIRED_MINOR 0)
+ set(FREERDP_REQUIRED_REVISION 0)
+endif()
+
+find_package(WinPR ${FREERDP_REQUIRED_VERSION} )
+find_package(FreeRDP ${FREERDP_REQUIRED_VERSION} )
+find_package(FreeRDP-Client ${FREERDP_REQUIRED_VERSION} )
+
+
+if (WinPR_FOUND AND FreeRDP_FOUND AND FreeRDP-Client_FOUND)
+ message("Enabling RDP plugin")
+ add_subdirectory(rdp)
+else()
+ message(STATUS "Disabling RDP plugin.")
+endif()
+
+# X2Go
+option(WITH_X2GO "Build X2Go plugin" OFF)
+if(WITH_X2GO)
+ message(STATUS "Enabling X2Go plugin.")
+ message(AUTHOR_WARNING "pyhoca-cli is needed at runtime, be sure to install it")
+ add_subdirectory(x2go)
+else()
+ message(STATUS "Disabling X2Go plugin.")
+endif()
+
+find_suggested_package(LIBVNCSERVER)
+if(LIBVNCSERVER_FOUND)
+ add_subdirectory(vnc)
+endif()
+
+option(WITH_GVNC "Build GVNC plugin" OFF)
+if(WITH_GVNC)
+ message(STATUS "Enabling GVNC plugin.")
+ add_definitions(-DWITH_GVNC)
+ find_suggested_package(GTK-VNC)
+ if(GTK-VNC_FOUND)
+ add_subdirectory(gvnc)
+ endif()
+else()
+ message(STATUS "Disabling GVNC plugin.")
+endif()
+
+find_suggested_package(Spice)
+if(SPICE_FOUND)
+ add_subdirectory(spice)
+endif()
+
+option(WITH_WWW "Build WWW plugin" ON)
+if(WITH_WWW)
+ message(STATUS "Enabling WWW plugin.")
+ add_definitions(-DWITH_WWW)
+ find_suggested_package(WEBKIT2GTK)
+ if(WEBKIT2GTK_FOUND)
+ add_subdirectory(www)
+ endif()
+else()
+ message(STATUS "Disabling WWW plugin.")
+endif()
+
+if(WITH_EXAMPLES)
+ message(STATUS "Enabling examples and test plugins.")
+ add_subdirectory(tool_hello_world)
+endif()
+
+add_subdirectory(exec)
+
+option(WITH_KF5WALLET "Building KF5WALLET plugin" OFF)
+if(WITH_KF5WALLET)
+ CheckHasModule(KF5Wallet)
+ if(HAS_MODULE_KF5Wallet)
+ message(STATUS "Enabling KDE Wallet plugin.")
+ add_definitions(-DWITH_KF5WALLET)
+ add_subdirectory(kwallet)
+ else()
+ message(FATAL_ERROR "libKF5wallet not found but requested")
+ endif()
+endif()
+
+option(WITH_ST "Build Simple Terminal plugin" OFF)
+if(WITH_ST)
+ message(STATUS "Enabling ST plugin.")
+ add_definitions(-DWITH_ST)
+ get_filename_component(_st_fullpath "st" REALPATH)
+ if(EXISTS "${_st_fullpath}" AND EXISTS "${_st_fullpath}/CMakeLists.txt")
+ add_subdirectory(st)
+ else()
+ message(WARNING "Can't find ${_st_fullpath}/CMakeLists.txt")
+ endif()
+endif()
+
+option(WITH_XDMCP "Build XDMCP plugin" OFF)
+if(WITH_XDMCP)
+ add_definitions(-DWITH_XDMCP)
+ message(STATUS "Enabling XDMCP plugin.")
+ get_filename_component(_xdmcp_fullpath "xdmcp" REALPATH)
+ if(EXISTS "${_xdmcp_fullpath}" AND EXISTS "${_xdmcp_fullpath}/CMakeLists.txt")
+ add_subdirectory(xdmcp)
+ else()
+ message(WARNING "Can't find ${_xdmcp_fullpath}/CMakeLists.txt")
+ endif()
+endif()
+
+option(WITH_NX "Build NX plugin" OFF)
+if(WITH_NX)
+ add_definitions(-DWITH_NX)
+ # After the plugin split only the NX plugin needs XKBfile.h
+ find_required_package(XKBFILE)
+ if(LIBSSH_FOUND AND XKBFILE_FOUND)
+ message(STATUS "Enabling NX plugin.")
+ get_filename_component(_nx_fullpath "nx" REALPATH)
+ if(EXISTS "${_nx_fullpath}" AND EXISTS "${_nx_fullpath}/CMakeLists.txt")
+ add_subdirectory(nx)
+ else()
+ message(WARNING "Can't find ${_nx_fullpath}/CMakeLists.txt")
+ endif()
+ endif()
+endif()
+
+option(WITH_PYTHONLIBS "Build Python Wrapper Plugin" ON)
+if(WITH_PYTHONLIBS)
+ message(STATUS "Enabling Python Wrapper Plugin.")
+ add_definitions(-DWITH_PYTHONLIBS)
+ find_suggested_package(PythonLibs)
+ if(PythonLibs_FOUND)
+ add_subdirectory(python_wrapper)
+ endif()
+else()
+ message(STATUS "Disabling Python Wrapper plugin.")
+endif()
+
+#find_suggested_package(TELEPATHY)
+#if(TELEPATHY_FOUND)
+#add_subdirectory(telepathy)
+#endif()