From 4d8767e3699c65846ab945ad6802971eb1e72874 Mon Sep 17 00:00:00 2001 From: Weijia Wang <8018380-wegank@users.noreply.gitlab.com> Date: Sun, 4 Dec 2022 07:46:37 +0000 Subject: Initial macOS support --- cmake/FindGIO.cmake | 10 ++++++---- plugins/python_wrapper/python_wrapper_plugin.c | 2 +- plugins/rdp/rdp_plugin.c | 2 +- plugins/rdp/rdp_plugin.h | 2 +- plugins/x2go/x2go_plugin.c | 2 +- src/remmina.c | 2 +- src/remmina_file.c | 5 +++++ src/remmina_main.c | 4 ++++ src/remmina_plugin_manager.c | 2 +- src/remmina_plugin_native.c | 2 +- src/remmina_public.c | 2 +- 11 files changed, 23 insertions(+), 12 deletions(-) diff --git a/cmake/FindGIO.cmake b/cmake/FindGIO.cmake index bbf6481e1..17e0a3897 100644 --- a/cmake/FindGIO.cmake +++ b/cmake/FindGIO.cmake @@ -48,16 +48,18 @@ if(GIO_LIBRARY AND NOT GIO_FOUND) find_path(GIO_INCLUDE_DIR "gio/gio.h" HINTS ${GIO_PKG_INCLUDE_DIRS}) -find_path(GIO-UNIX_INCLUDE_DIR "gio/gdesktopappinfo.h" - HINTS ${GIO-UNIX_PKG_INCLUDE_DIRS}) - + if(NOT APPLE) + find_path(GIO-UNIX_INCLUDE_DIR "gio/gdesktopappinfo.h" + HINTS ${GIO-UNIX_PKG_INCLUDE_DIRS}) + list(APPEND GIO_INCLUDE_DIRS ${GIO-UNIX_INCLUDE_DIR}) + endif() find_package(GLib) find_package(GObject) set(GIO_VERSION "${GLib_VERSION}") list(APPEND GIO_DEPS_FOUND_VARS "GObject_FOUND") - list(APPEND GIO_INCLUDE_DIRS ${GIO-UNIX_INCLUDE_DIR} ${GObject_INCLUDE_DIRS}) + list(APPEND GIO_INCLUDE_DIRS ${GObject_INCLUDE_DIRS}) set_property (TARGET "${GIO}" APPEND PROPERTY INTERFACE_LINK_LIBRARIES "gobject-2.0") set_property(TARGET ${GIO} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GIO_INCLUDE_DIR}") diff --git a/plugins/python_wrapper/python_wrapper_plugin.c b/plugins/python_wrapper/python_wrapper_plugin.c index 858fc4557..c85d46154 100644 --- a/plugins/python_wrapper/python_wrapper_plugin.c +++ b/plugins/python_wrapper/python_wrapper_plugin.c @@ -38,7 +38,7 @@ #include #ifdef GDK_WINDOWING_X11 #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif #include "config.h" diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c index a48819ea6..0639aba41 100644 --- a/plugins/rdp/rdp_plugin.c +++ b/plugins/rdp/rdp_plugin.c @@ -80,7 +80,7 @@ #include #include #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif diff --git a/plugins/rdp/rdp_plugin.h b/plugins/rdp/rdp_plugin.h index f48fab5a2..b93a22597 100644 --- a/plugins/rdp/rdp_plugin.h +++ b/plugins/rdp/rdp_plugin.h @@ -49,7 +49,7 @@ #include #ifdef GDK_WINDOWING_X11 #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif diff --git a/plugins/x2go/x2go_plugin.c b/plugins/x2go/x2go_plugin.c index 8f26f56b8..8d2e956f3 100644 --- a/plugins/x2go/x2go_plugin.c +++ b/plugins/x2go/x2go_plugin.c @@ -47,7 +47,7 @@ #include #ifdef GDK_WINDOWING_X11 #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif diff --git a/src/remmina.c b/src/remmina.c index 43834b9bd..e91968d71 100644 --- a/src/remmina.c +++ b/src/remmina.c @@ -40,7 +40,7 @@ #endif /* G_LOG_DOMAIN */ #ifdef GDK_WINDOWING_X11 #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif #include diff --git a/src/remmina_file.c b/src/remmina_file.c index b2b6a3e77..d362c552c 100644 --- a/src/remmina_file.c +++ b/src/remmina_file.c @@ -1111,8 +1111,13 @@ remmina_file_touch(RemminaFile *remminafile) if (errno != ENOENT) REMMINA_DEBUG("stat %s:", remminafile->statefile); } else if (!r) { +#ifdef __APPLE__ + times[0] = st.st_atimespec; + times[1] = st.st_mtimespec; +#else times[0] = st.st_atim; times[1] = st.st_mtim; +#endif if (utimensat(AT_FDCWD, remminafile->statefile, times, 0) < 0) REMMINA_DEBUG("utimensat %s:", remminafile->statefile); return; diff --git a/src/remmina_main.c b/src/remmina_main.c index 1c53cebae..e3295ccbe 100644 --- a/src/remmina_main.c +++ b/src/remmina_main.c @@ -37,7 +37,9 @@ #include "config.h" #include #include +#ifndef __APPLE__ #include +#endif #include #include #include @@ -1043,6 +1045,7 @@ void remmina_main_on_action_application_preferences(GSimpleAction *action, GVari void remmina_main_on_action_application_default(GSimpleAction *action, GVariant *param, gpointer data) { TRACE_CALL(__func__); +#ifndef __APPLE__ g_autoptr(GError) error = NULL; GDesktopAppInfo *desktop_info; GAppInfo *info = NULL; @@ -1064,6 +1067,7 @@ void remmina_main_on_action_application_default(GSimpleAction *action, GVariant g_app_info_get_name(info), supported_mime_types[i]); } +#endif } void remmina_main_on_action_application_quit(GSimpleAction *action, GVariant *param, gpointer data) diff --git a/src/remmina_plugin_manager.c b/src/remmina_plugin_manager.c index 47af6536a..b077a3c36 100644 --- a/src/remmina_plugin_manager.c +++ b/src/remmina_plugin_manager.c @@ -44,7 +44,7 @@ #include #ifdef GDK_WINDOWING_X11 #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif #include "remmina_public.h" diff --git a/src/remmina_plugin_native.c b/src/remmina_plugin_native.c index 6e844fef1..6661ae231 100644 --- a/src/remmina_plugin_native.c +++ b/src/remmina_plugin_native.c @@ -41,7 +41,7 @@ #ifdef GDK_WINDOWING_X11 #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif diff --git a/src/remmina_public.c b/src/remmina_public.c index e20030dd7..eb86460fb 100644 --- a/src/remmina_public.c +++ b/src/remmina_public.c @@ -55,7 +55,7 @@ #include #include #include -#else +#elif defined(GDK_WINDOWING_WAYLAND) #include #endif #include "remmina_public.h" -- cgit v1.2.3