From ac193a597d6b953f9869a240e21e275ce6e388cb Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Mon, 22 Feb 2021 17:27:39 +0400 Subject: [PATCH] Add DESKTOP_APP_DISABLE_X11_INTEGRATION --- external/CMakeLists.txt | 6 ++++-- external/qt/qt_static_plugins/CMakeLists.txt | 8 +++++++- external/qt/qt_static_plugins/qt_static_plugins.cpp | 2 ++ options.cmake | 7 +++++++ variables.cmake | 1 + 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 2eee673..e1a3f1b 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -19,7 +19,9 @@ endif() add_checked_subdirectory(expected) if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION) add_checked_subdirectory(fcitx_qt5) - add_checked_subdirectory(fcitx5_qt5) + if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) + add_checked_subdirectory(fcitx5_qt5) + endif() endif() add_checked_subdirectory(ffmpeg) if (LINUX) @@ -61,7 +63,7 @@ endif() add_checked_subdirectory(ton) add_checked_subdirectory(variant) add_checked_subdirectory(webrtc) -if (LINUX) +if (LINUX AND NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) add_checked_subdirectory(xcb) endif() add_checked_subdirectory(xxhash) diff --git a/external/qt/qt_static_plugins/CMakeLists.txt b/external/qt/qt_static_plugins/CMakeLists.txt index ffd741b..921e41b 100644 --- a/external/qt/qt_static_plugins/CMakeLists.txt +++ b/external/qt/qt_static_plugins/CMakeLists.txt @@ -29,8 +29,14 @@ if (LINUX) target_link_libraries(external_qt_static_plugins PUBLIC desktop-app::external_fcitx_qt5 - desktop-app::external_fcitx5_qt5 desktop-app::external_hime_qt ) + + if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) + target_link_libraries(external_qt_static_plugins + PUBLIC + desktop-app::external_fcitx5_qt5 + ) + endif() endif() endif() diff --git a/external/qt/qt_static_plugins/qt_static_plugins.cpp b/external/qt/qt_static_plugins/qt_static_plugins.cpp index 751f53e..dce89ca 100644 --- a/external/qt/qt_static_plugins/qt_static_plugins.cpp +++ b/external/qt/qt_static_plugins/qt_static_plugins.cpp @@ -49,7 +49,9 @@ Q_IMPORT_PLUGIN(QWaylandEglPlatformIntegrationPlugin) Q_IMPORT_PLUGIN(NimfInputContextPlugin) #ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION Q_IMPORT_PLUGIN(QFcitxPlatformInputContextPlugin) +#ifndef DESKTOP_APP_DISABLE_X11_INTEGRATION Q_IMPORT_PLUGIN(QFcitx5PlatformInputContextPlugin) +#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION Q_IMPORT_PLUGIN(QHimePlatformInputContextPlugin) #endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION #endif // !DESKTOP_APP_USE_PACKAGED || DESKTOP_APP_USE_PACKAGED_LAZY diff --git a/options.cmake b/options.cmake index 7cb4763..9a8729f 100644 --- a/options.cmake +++ b/options.cmake @@ -27,6 +27,13 @@ if (DESKTOP_APP_DISABLE_DBUS_INTEGRATION) ) endif() +if (DESKTOP_APP_DISABLE_X11_INTEGRATION) + target_compile_definitions(common_options + INTERFACE + DESKTOP_APP_DISABLE_X11_INTEGRATION + ) +endif() + if (DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION) target_compile_definitions(common_options INTERFACE diff --git a/variables.cmake b/variables.cmake index 07c4925..d90bddc 100644 --- a/variables.cmake +++ b/variables.cmake @@ -29,6 +29,7 @@ endif() option(DESKTOP_APP_LOTTIE_USE_CACHE "Use caching in lottie animations." ON) option(DESKTOP_APP_DISABLE_DBUS_INTEGRATION "Disable all code for D-Bus integration (Linux only)." OFF) +option(DESKTOP_APP_DISABLE_X11_INTEGRATION "Disable all code for X11 integration (Linux only)." OFF) option(DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION "Disable all code for Wayland integration (Linux only)." OFF) option(DESKTOP_APP_DISABLE_GTK_INTEGRATION "Disable all code for GTK integration (Linux only)." OFF) option(DESKTOP_APP_USE_GLIBC_WRAPS "Use wraps for new GLIBC features." OFF)