init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled

This commit is contained in:
allhaileris
2026-02-16 15:50:16 +03:00
commit afb81b8278
13816 changed files with 3689732 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins OBJECT)
add_library(desktop-app::external_qt_static_plugins ALIAS external_qt_static_plugins)
init_target(external_qt_static_plugins "(external)")
nice_target_sources(external_qt_static_plugins ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
qt_static_plugins.cpp
)
target_link_libraries(external_qt_static_plugins
PUBLIC
desktop-app::external_qt
)
if (DESKTOP_APP_USE_PACKAGED)
target_compile_definitions(external_qt_static_plugins
PRIVATE
QT_STATIC_PLUGINS_USE_PACKAGED
)
endif()
if (DESKTOP_APP_DISABLE_QT_PLUGINS)
return()
endif()
add_checked_subdirectory(kimageformats)
target_link_libraries(external_qt_static_plugins
PUBLIC
desktop-app::external_qt_static_plugins_kimageformats
)
if (LINUX)
add_checked_subdirectory(nimf)
target_link_libraries(external_qt_static_plugins
PUBLIC
desktop-app::external_qt_static_plugins_nimf
)
if (TARGET Qt::DBus)
add_checked_subdirectory(fcitx5)
target_link_libraries(external_qt_static_plugins
PUBLIC
desktop-app::external_qt_static_plugins_fcitx5
)
endif()
if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION)
add_checked_subdirectory(hime)
target_link_libraries(external_qt_static_plugins
PUBLIC
desktop-app::external_qt_static_plugins_hime
)
endif()
endif()

View File

@@ -0,0 +1,87 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins_fcitx5 STATIC)
add_library(desktop-app::external_qt_static_plugins_fcitx5 ALIAS external_qt_static_plugins_fcitx5)
init_target(external_qt_static_plugins_fcitx5 "(external)")
set(fcitx5_qt_loc ${third_party_loc}/fcitx5-qt)
set(fcitx5_qt_src ${fcitx5_qt_loc}/qt${QT_VERSION_MAJOR}/platforminputcontext)
set_target_properties(external_qt_static_plugins_fcitx5 PROPERTIES AUTOMOC ON)
set(FCITX5_QT_EXTRA_PLUGIN_NAME "\"fcitx\",")
configure_file("${fcitx5_qt_src}/fcitx5.json.in" "${CMAKE_CURRENT_BINARY_DIR}/fcitx5.json")
nice_target_sources(external_qt_static_plugins_fcitx5 ${fcitx5_qt_src}
PRIVATE
fcitx4watcher.cpp
fcitx4inputcontextproxy.cpp
fcitx4inputcontextproxyimpl.cpp
fcitx4inputmethodproxy.cpp
hybridinputcontext.cpp
qfcitxplatforminputcontext.cpp
fcitxcandidatewindow.cpp
fcitxtheme.cpp
font.cpp
qtkey.cpp
main.cpp
)
target_include_directories(external_qt_static_plugins_fcitx5
PRIVATE
${fcitx5_qt_src}
${fcitx5_qt_loc}/common
)
target_compile_definitions(external_qt_static_plugins_fcitx5
PRIVATE
QT_STATICPLUGIN
FCITX_PLUGIN_DATA_FILE_PATH="${CMAKE_CURRENT_BINARY_DIR}/fcitx5.json"
)
find_package(PkgConfig REQUIRED)
pkg_check_modules(DESKTOP_APP_XKBCOMMON REQUIRED IMPORTED_TARGET xkbcommon)
add_subdirectory(fcitx5_qt_dbusaddons)
target_link_libraries(external_qt_static_plugins_fcitx5
PRIVATE
desktop-app::external_qt_static_plugins_fcitx5_dbusaddons
desktop-app::external_qt
PkgConfig::DESKTOP_APP_XKBCOMMON
)
if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION)
target_compile_definitions(external_qt_static_plugins_fcitx5
PRIVATE
ENABLE_X11
)
target_link_libraries(external_qt_static_plugins_fcitx5
PRIVATE
desktop-app::external_xcb
)
endif()
add_library(external_qt_static_plugins_fcitx5_init OBJECT)
add_library(desktop-app::external_qt_static_plugins_fcitx5_init ALIAS external_qt_static_plugins_fcitx5_init)
init_target(external_qt_static_plugins_fcitx5_init "(external)")
nice_target_sources(external_qt_static_plugins_fcitx5_init ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
init.cpp
)
target_link_libraries(external_qt_static_plugins_fcitx5_init
PRIVATE
desktop-app::external_qt
)
target_link_libraries(external_qt_static_plugins_fcitx5
INTERFACE
external_qt_static_plugins_fcitx5_init
$<TARGET_OBJECTS:external_qt_static_plugins_fcitx5_init>
)

View File

@@ -0,0 +1,50 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins_fcitx5_dbusaddons STATIC)
add_library(desktop-app::external_qt_static_plugins_fcitx5_dbusaddons ALIAS external_qt_static_plugins_fcitx5_dbusaddons)
init_target(external_qt_static_plugins_fcitx5_dbusaddons "(external)")
set(fcitx5_qt_loc ${third_party_loc}/fcitx5-qt)
set(fcitx5_qt_dbusaddons_src ${fcitx5_qt_loc}/qt${QT_VERSION_MAJOR}/dbusaddons)
set_target_properties(external_qt_static_plugins_fcitx5_dbusaddons PROPERTIES AUTOMOC ON)
nice_target_sources(external_qt_static_plugins_fcitx5_dbusaddons ${fcitx5_qt_dbusaddons_src}
PRIVATE
fcitxqtwatcher.cpp
fcitxqtwatcher.h
fcitxqtdbustypes.cpp
fcitxqtdbustypes.h
fcitxqtinputcontextproxy.cpp
fcitxqtinputcontextproxy.h
fcitxqtinputcontextproxyimpl.cpp
fcitxqtinputmethodproxy.cpp
fcitxqtinputmethodproxy.h
fcitxqtcontrollerproxy.cpp
fcitxqtcontrollerproxy.h
)
include(GenerateExportHeader)
generate_export_header(external_qt_static_plugins_fcitx5_dbusaddons BASE_NAME Fcitx5Qt${QT_VERSION_MAJOR}DBusAddons)
target_include_directories(external_qt_static_plugins_fcitx5_dbusaddons
PUBLIC
${fcitx5_qt_dbusaddons_src}
"${CMAKE_CURRENT_BINARY_DIR}"
)
if (QT_VERSION_MAJOR EQUAL 5)
target_compile_definitions(external_qt_static_plugins_fcitx5_dbusaddons
PRIVATE
FCITX5QT5DBUSADDONS_STATIC_DEFINE
)
endif()
target_link_libraries(external_qt_static_plugins_fcitx5_dbusaddons
PRIVATE
desktop-app::external_qt
)

View File

@@ -0,0 +1,10 @@
/*
This file is part of Desktop App Toolkit,
a set of libraries for developing nice desktop applications.
For license and copyright information please follow this link:
https://github.com/desktop-app/legal/blob/master/LEGAL
*/
#include <QtCore/QtPlugin>
Q_IMPORT_PLUGIN(QFcitx5PlatformInputContextPlugin)

View File

@@ -0,0 +1,59 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins_hime STATIC)
add_library(desktop-app::external_qt_static_plugins_hime ALIAS external_qt_static_plugins_hime)
init_target(external_qt_static_plugins_hime "(external)")
set(hime_loc ${third_party_loc}/hime)
set(hime_qt_src ${hime_loc}/src/qt5-im)
set_target_properties(external_qt_static_plugins_hime PROPERTIES AUTOMOC ON)
nice_target_sources(external_qt_static_plugins_hime ${hime_qt_src}
PRIVATE
hime-imcontext-qt.cpp
hime-imcontext-qt.h
hime-qt.cpp
hime-qt.h
)
target_include_directories(external_qt_static_plugins_hime
PRIVATE
${hime_qt_src}
)
target_compile_definitions(external_qt_static_plugins_hime
PRIVATE
QT_STATICPLUGIN
)
add_subdirectory(hime_im_client)
target_link_libraries(external_qt_static_plugins_hime
PRIVATE
desktop-app::external_qt_static_plugins_hime_im_client
desktop-app::external_qt
)
add_library(external_qt_static_plugins_hime_init OBJECT)
add_library(desktop-app::external_qt_static_plugins_hime_init ALIAS external_qt_static_plugins_hime_init)
init_target(external_qt_static_plugins_hime_init "(external)")
nice_target_sources(external_qt_static_plugins_hime_init ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
init.cpp
)
target_link_libraries(external_qt_static_plugins_hime_init
PRIVATE
desktop-app::external_qt
)
target_link_libraries(external_qt_static_plugins_hime
INTERFACE
external_qt_static_plugins_hime_init
$<TARGET_OBJECTS:external_qt_static_plugins_hime_init>
)

View File

@@ -0,0 +1,35 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins_hime_im_client STATIC)
add_library(desktop-app::external_qt_static_plugins_hime_im_client ALIAS external_qt_static_plugins_hime_im_client)
init_target(external_qt_static_plugins_hime_im_client "(external)")
set(hime_loc ${third_party_loc}/hime)
set(hime_im_client_src ${hime_loc}/src/im-client)
nice_target_sources(external_qt_static_plugins_hime_im_client ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
hime_im_client_helper.cpp
)
target_include_directories(external_qt_static_plugins_hime_im_client
PUBLIC
${hime_im_client_src}
)
target_link_libraries(external_qt_static_plugins_hime_im_client
PRIVATE
desktop-app::lib_base
)
find_package(PkgConfig REQUIRED)
pkg_check_modules(DESKTOP_APP_X11 REQUIRED x11)
target_include_directories(external_qt_static_plugins_hime_im_client SYSTEM
PRIVATE
${DESKTOP_APP_X11_INCLUDE_DIRS}
)

View File

@@ -0,0 +1,179 @@
// This file is part of Desktop App Toolkit,
// a set of libraries for developing nice desktop applications.
//
// For license and copyright information please follow this link:
// https://github.com/desktop-app/legal/blob/master/LEGAL
//
#include "base/platform/linux/base_linux_library.h"
#include <X11/Xlib.h>
#include <hime-im-client.h>
namespace HimeHelper {
namespace {
void (*hime_im_client_close)(HIME_client_handle *handle);
void (*hime_im_client_focus_in)(HIME_client_handle *handle);
void (*hime_im_client_focus_out)(HIME_client_handle *handle);
void (*hime_im_client_focus_out2)(HIME_client_handle *handle, char **rstr);
int (*hime_im_client_forward_key_press)(
HIME_client_handle *handle,
const KeySym key,
const uint32_t state,
char **rstr);
int (*hime_im_client_forward_key_release)(
HIME_client_handle *handle,
const KeySym key,
const uint32_t state,
char **rstr);
int (*hime_im_client_get_preedit)(
HIME_client_handle *handle,
char **str,
HIME_PREEDIT_ATTR att[],
int *cursor,
int *sub_comp_len);
HIME_client_handle *(*hime_im_client_open)(Display *display);
void (*hime_im_client_reset)(HIME_client_handle *handle);
void (*hime_im_client_set_cursor_location)(
HIME_client_handle *handle,
const int x,
const int y);
void (*hime_im_client_set_flags)(
HIME_client_handle *handle,
const int flags,
int *ret_flags);
void (*hime_im_client_set_client_window)(
HIME_client_handle *handle,
const Window win);
void (*hime_im_client_set_window)(HIME_client_handle *handle, Window win);
bool Resolve() {
static const auto loaded = [&] {
const auto lib = base::Platform::LoadLibrary(
"libhime-im-client.so.1",
RTLD_NODELETE);
return lib
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_close)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_focus_in)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_focus_out)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_focus_out2)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_forward_key_press)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_forward_key_release)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_get_preedit)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_open)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_reset)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_set_cursor_location)
&& LOAD_LIBRARY_SYMBOL(lib, hime_im_client_set_flags)
&& (LOAD_LIBRARY_SYMBOL(lib, hime_im_client_set_client_window)
|| LOAD_LIBRARY_SYMBOL(lib, hime_im_client_set_window));
}();
return loaded;
}
} // namespace
} // namespace HimeHelper
void hime_im_client_close(HIME_client_handle *handle) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_close(handle);
}
void hime_im_client_focus_in(HIME_client_handle *handle) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_focus_in(handle);
}
void hime_im_client_focus_out(HIME_client_handle *handle) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_focus_out(handle);
}
void hime_im_client_focus_out2(HIME_client_handle *handle, char **rstr) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_focus_out2(handle, rstr);
}
int hime_im_client_forward_key_press(
HIME_client_handle *handle,
const KeySym key,
const uint32_t state,
char **rstr) {
HimeHelper::Resolve();
return HimeHelper::hime_im_client_forward_key_press(
handle,
key,
state,
rstr);
}
int hime_im_client_forward_key_release(
HIME_client_handle *handle,
const KeySym key,
const uint32_t state,
char **rstr) {
HimeHelper::Resolve();
return HimeHelper::hime_im_client_forward_key_release(
handle,
key,
state,
rstr);
}
int hime_im_client_get_preedit(
HIME_client_handle *handle,
char **str,
HIME_PREEDIT_ATTR att[],
int *cursor,
int *sub_comp_len) {
HimeHelper::Resolve();
return HimeHelper::hime_im_client_get_preedit(
handle,
str,
att,
cursor,
sub_comp_len);
}
HIME_client_handle *hime_im_client_open(Display *display) {
HimeHelper::Resolve();
return HimeHelper::hime_im_client_open(display);
}
void hime_im_client_reset(HIME_client_handle *handle) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_reset(handle);
}
void hime_im_client_set_cursor_location(
HIME_client_handle *handle,
const int x,
const int y) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_set_cursor_location(
handle,
x,
y);
}
void hime_im_client_set_flags(
HIME_client_handle *handle,
const int flags,
int *ret_flags) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_set_flags(
handle,
flags,
ret_flags);
}
void hime_im_client_set_client_window(
HIME_client_handle *handle,
const Window win) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_set_client_window(handle, win);
}
void hime_im_client_set_window(HIME_client_handle *handle, Window win) {
HimeHelper::Resolve();
HimeHelper::hime_im_client_set_window(handle, win);
}

View File

@@ -0,0 +1,10 @@
/*
This file is part of Desktop App Toolkit,
a set of libraries for developing nice desktop applications.
For license and copyright information please follow this link:
https://github.com/desktop-app/legal/blob/master/LEGAL
*/
#include <QtCore/QtPlugin>
Q_IMPORT_PLUGIN(QHimePlatformInputContextPlugin)

View File

@@ -0,0 +1,155 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins_kimageformats STATIC)
add_library(desktop-app::external_qt_static_plugins_kimageformats ALIAS external_qt_static_plugins_kimageformats)
init_target(external_qt_static_plugins_kimageformats "(external)")
set(kimageformats_loc ${third_party_loc}/kimageformats)
set(kimageformats_src ${kimageformats_loc}/src/imageformats)
set_target_properties(external_qt_static_plugins_kimageformats PROPERTIES AUTOMOC ON)
nice_target_sources(external_qt_static_plugins_kimageformats ${kimageformats_src}
PRIVATE
avif.cpp
heif.cpp
jxl.cpp
qoi.cpp
scanlineconverter.cpp
)
target_compile_definitions(external_qt_static_plugins_kimageformats
PRIVATE
QT_STATICPLUGIN
)
target_link_libraries(external_qt_static_plugins_kimageformats
PRIVATE
desktop-app::external_qt
)
if (DESKTOP_APP_USE_PACKAGED OR LINUX)
find_package(libavif QUIET)
find_package(libheif QUIET)
find_package(PkgConfig)
if (PkgConfig_FOUND)
if (NOT libavif_FOUND)
pkg_check_modules(DESKTOP_APP_AVIF IMPORTED_TARGET libavif)
endif()
pkg_check_modules(DESKTOP_APP_JXL IMPORTED_TARGET libjxl libjxl_threads)
endif()
if (NOT libavif_FOUND AND NOT DESKTOP_APP_AVIF_FOUND)
remove_target_sources(external_qt_static_plugins_kimageformats ${kimageformats_src} avif.cpp)
endif()
if (NOT libheif_FOUND)
remove_target_sources(external_qt_static_plugins_kimageformats ${kimageformats_src} heif.cpp)
endif()
if (NOT DESKTOP_APP_JXL_FOUND)
remove_target_sources(external_qt_static_plugins_kimageformats ${kimageformats_src} jxl.cpp)
endif()
target_link_libraries(external_qt_static_plugins_kimageformats
PRIVATE
$<TARGET_NAME_IF_EXISTS:avif>
$<TARGET_NAME_IF_EXISTS:PkgConfig::DESKTOP_APP_AVIF>
$<TARGET_NAME_IF_EXISTS:heif>
$<TARGET_NAME_IF_EXISTS:PkgConfig::DESKTOP_APP_JXL>
)
elseif (WIN32)
target_compile_definitions(external_qt_static_plugins_kimageformats
PRIVATE
JXL_STATIC_DEFINE
JXL_THREADS_STATIC_DEFINE
JXL_CMS_STATIC_DEFINE
LIBHEIF_STATIC_BUILD
)
target_include_directories(external_qt_static_plugins_kimageformats SYSTEM
PRIVATE
${libs_loc}/local/include
)
target_link_libraries(external_qt_static_plugins_kimageformats
PRIVATE
${libs_loc}/libavif/$<IF:$<CONFIG:Debug>,Debug,Release>/avif.lib
${libs_loc}/libheif/libheif/$<IF:$<CONFIG:Debug>,Debug,Release>/heif.lib
${libs_loc}/libde265/libde265/$<IF:$<CONFIG:Debug>,Debug,Release>/libde265.lib
${libs_loc}/dav1d/builddir-$<IF:$<CONFIG:Debug>,debug,release>/src/libdav1d.a
${libs_loc}/libjxl/lib/$<IF:$<CONFIG:Debug>,Debug,Release>/jxl.lib
${libs_loc}/libjxl/lib/$<IF:$<CONFIG:Debug>,Debug,Release>/jxl_cms.lib
${libs_loc}/libjxl/lib/$<IF:$<CONFIG:Debug>,Debug,Release>/jxl_threads.lib
${libs_loc}/libjxl/third_party/highway/$<IF:$<CONFIG:Debug>,Debug,Release>/hwy.lib
${libs_loc}/libjxl/third_party/brotli/$<IF:$<CONFIG:Debug>,Debug,Release>/brotlidec.lib
${libs_loc}/libjxl/third_party/brotli/$<IF:$<CONFIG:Debug>,Debug,Release>/brotlienc.lib
${libs_loc}/libjxl/third_party/brotli/$<IF:$<CONFIG:Debug>,Debug,Release>/brotlicommon.lib
)
elseif (APPLE)
target_compile_definitions(external_qt_static_plugins_kimageformats
PRIVATE
JXL_STATIC_DEFINE
JXL_THREADS_STATIC_DEFINE
JXL_CMS_STATIC_DEFINE
LIBHEIF_STATIC_BUILD
)
target_include_directories(external_qt_static_plugins_kimageformats SYSTEM
PRIVATE
${libs_loc}/local/include
)
target_link_libraries(external_qt_static_plugins_kimageformats
PRIVATE
${libs_loc}/local/lib/libavif.a
${libs_loc}/local/lib/libheif.a
${libs_loc}/local/lib/libde265.a
${libs_loc}/local/lib/libdav1d.a
${libs_loc}/local/lib/libjxl.a
${libs_loc}/local/lib/libjxl_cms.a
${libs_loc}/local/lib/libjxl_threads.a
${libs_loc}/local/lib/libhwy.a
${libs_loc}/local/lib/libbrotlidec.a
${libs_loc}/local/lib/libbrotlienc.a
${libs_loc}/local/lib/libbrotlicommon.a
${libs_loc}/local/lib/liblcms2.a
)
endif()
add_library(external_qt_static_plugins_kimageformats_init OBJECT)
add_library(desktop-app::external_qt_static_plugins_kimageformats_init ALIAS external_qt_static_plugins_kimageformats_init)
init_target(external_qt_static_plugins_kimageformats_init "(external)")
nice_target_sources(external_qt_static_plugins_kimageformats_init ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
init.cpp
)
target_link_libraries(external_qt_static_plugins_kimageformats_init
PRIVATE
desktop-app::external_qt
)
if (DESKTOP_APP_USE_PACKAGED OR LINUX)
if (NOT libavif_FOUND AND NOT DESKTOP_APP_AVIF_FOUND)
target_compile_definitions(external_qt_static_plugins_kimageformats_init PRIVATE QT_STATIC_PLUGINS_DISABLE_AVIF)
endif()
if (NOT libheif_FOUND)
target_compile_definitions(external_qt_static_plugins_kimageformats_init PRIVATE QT_STATIC_PLUGINS_DISABLE_HEIF)
endif()
if (NOT DESKTOP_APP_JXL_FOUND)
target_compile_definitions(external_qt_static_plugins_kimageformats_init PRIVATE QT_STATIC_PLUGINS_DISABLE_JXL)
endif()
endif()
target_link_libraries(external_qt_static_plugins_kimageformats
INTERFACE
external_qt_static_plugins_kimageformats_init
$<TARGET_OBJECTS:external_qt_static_plugins_kimageformats_init>
)

View File

@@ -0,0 +1,19 @@
/*
This file is part of Desktop App Toolkit,
a set of libraries for developing nice desktop applications.
For license and copyright information please follow this link:
https://github.com/desktop-app/legal/blob/master/LEGAL
*/
#include <QtCore/QtPlugin>
#ifndef QT_STATIC_PLUGINS_DISABLE_AVIF
Q_IMPORT_PLUGIN(QAVIFPlugin)
#endif // !QT_STATIC_PLUGINS_DISABLE_AVIF
#ifndef QT_STATIC_PLUGINS_DISABLE_HEIF
Q_IMPORT_PLUGIN(HEIFPlugin)
#endif // !QT_STATIC_PLUGINS_DISABLE_HEIF
#ifndef QT_STATIC_PLUGINS_DISABLE_JXL
Q_IMPORT_PLUGIN(QJpegXLPlugin)
#endif // !QT_STATIC_PLUGINS_DISABLE_JXL
Q_IMPORT_PLUGIN(QOIPlugin)

View File

@@ -0,0 +1,64 @@
# This file is part of Desktop App Toolkit,
# a set of libraries for developing nice desktop applications.
#
# For license and copyright information please follow this link:
# https://github.com/desktop-app/legal/blob/master/LEGAL
add_library(external_qt_static_plugins_nimf STATIC)
add_library(desktop-app::external_qt_static_plugins_nimf ALIAS external_qt_static_plugins_nimf)
init_target(external_qt_static_plugins_nimf "(external)")
set(nimf_loc ${third_party_loc}/nimf)
set(libnimf_src ${nimf_loc}/libnimf)
set(nimf_qt5_src ${nimf_loc}/modules/clients/qt5)
set_target_properties(external_qt_static_plugins_nimf PROPERTIES AUTOMOC ON)
nice_target_sources(external_qt_static_plugins_nimf ${nimf_qt5_src}
PRIVATE
im-nimf-qt5.cpp
)
find_package(PkgConfig REQUIRED)
pkg_check_modules(DESKTOP_APP_GIO REQUIRED gio-2.0)
target_include_directories(external_qt_static_plugins_nimf
PRIVATE
${nimf_qt5_src}
${libnimf_src}
${DESKTOP_APP_GIO_INCLUDE_DIRS}
)
target_compile_definitions(external_qt_static_plugins_nimf
PRIVATE
QT_STATICPLUGIN
QT_NO_KEYWORDS
G_LOG_DOMAIN="nimf"
NIMF_COMPILATION
USE_DLFCN
)
target_link_libraries(external_qt_static_plugins_nimf
PRIVATE
desktop-app::external_qt
)
add_library(external_qt_static_plugins_nimf_init OBJECT)
add_library(desktop-app::external_qt_static_plugins_nimf_init ALIAS external_qt_static_plugins_nimf_init)
init_target(external_qt_static_plugins_nimf_init "(external)")
nice_target_sources(external_qt_static_plugins_nimf_init ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
init.cpp
)
target_link_libraries(external_qt_static_plugins_nimf_init
PRIVATE
desktop-app::external_qt
)
target_link_libraries(external_qt_static_plugins_nimf
INTERFACE
external_qt_static_plugins_nimf_init
$<TARGET_OBJECTS:external_qt_static_plugins_nimf_init>
)

View File

@@ -0,0 +1,10 @@
/*
This file is part of Desktop App Toolkit,
a set of libraries for developing nice desktop applications.
For license and copyright information please follow this link:
https://github.com/desktop-app/legal/blob/master/LEGAL
*/
#include <QtCore/QtPlugin>
Q_IMPORT_PLUGIN(NimfInputContextPlugin)

View File

@@ -0,0 +1,16 @@
/*
This file is part of Desktop App Toolkit,
a set of libraries for developing nice desktop applications.
For license and copyright information please follow this link:
https://github.com/desktop-app/legal/blob/master/LEGAL
*/
#include <QtCore/QtPlugin>
#if !defined QT_STATIC_PLUGINS_USE_PACKAGED && QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && defined Q_OS_WIN
Q_IMPORT_PLUGIN(QGenericEnginePlugin)
Q_IMPORT_PLUGIN(QWebpPlugin)
Q_IMPORT_PLUGIN(QJpegPlugin)
Q_IMPORT_PLUGIN(QGifPlugin)
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
#endif // !QT_STATIC_PLUGINS_USE_PACKAGED && Qt < 6.0.0 && Q_OS_WIN