From b7f7db72a2a8e7a65ebb8259c9a146758508cb19 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sat, 2 May 2020 14:24:22 +0400 Subject: [PATCH] add nimf_qt5 cmake module --- external/CMakeLists.txt | 3 ++ external/nimf_qt5/CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++ external/qt/CMakeLists.txt | 1 - 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 external/nimf_qt5/CMakeLists.txt diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 4d1b2c2..aeb4824 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -31,6 +31,9 @@ if (LINUX) add_checked_subdirectory(materialdecoration) endif() add_checked_subdirectory(minizip) +if (LINUX) + add_checked_subdirectory(nimf_qt5) +endif() add_checked_subdirectory(openal) add_checked_subdirectory(openssl) add_checked_subdirectory(opus) diff --git a/external/nimf_qt5/CMakeLists.txt b/external/nimf_qt5/CMakeLists.txt new file mode 100644 index 0000000..98fbe59 --- /dev/null +++ b/external/nimf_qt5/CMakeLists.txt @@ -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 + +if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY) + add_library(external_nimf_qt5 INTERFACE IMPORTED GLOBAL) + add_library(desktop-app::external_nimf_qt5 ALIAS external_nimf_qt5) +else() + add_library(external_nimf_qt5 STATIC) + add_library(desktop-app::external_nimf_qt5 ALIAS external_nimf_qt5) + init_target(external_nimf_qt5 "(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_nimf_qt5 PROPERTIES AUTOMOC ON) + + nice_target_sources(external_nimf_qt5 ${nimf_qt5_src} + PRIVATE + im-nimf-qt5.cpp + ) + + find_package(PkgConfig REQUIRED) + pkg_check_modules(GLIB2 REQUIRED glib-2.0) + pkg_check_modules(GOBJECT REQUIRED gobject-2.0) + pkg_check_modules(GIO REQUIRED gio-2.0) + + target_include_directories(external_nimf_qt5 + PRIVATE + ${nimf_qt5_src} + ${libnimf_src} + ${GLIB2_INCLUDE_DIRS} + ${GOBJECT_INCLUDE_DIRS} + ${GIO_INCLUDE_DIRS} + ) + + target_compile_definitions(external_nimf_qt5 + PRIVATE + QT_STATICPLUGIN + QT_NO_KEYWORDS + G_LOG_DOMAIN="nimf" + NIMF_COMPILATION + USE_DLFCN + ) + + target_link_libraries(external_nimf_qt5 + PRIVATE + desktop-app::external_qt + ${CMAKE_DL_LIBS} + ) + + target_compile_options(external_nimf_qt5 + PRIVATE + -Wno-error=register + ) +endif() diff --git a/external/qt/CMakeLists.txt b/external/qt/CMakeLists.txt index 36b5b1b..19123b0 100644 --- a/external/qt/CMakeLists.txt +++ b/external/qt/CMakeLists.txt @@ -166,7 +166,6 @@ else() set(qt_libs_dbus_plugins plugins/platforminputcontexts/${qt_lib_prefix}ibusplatforminputcontextplugin plugins/platforminputcontexts/${qt_lib_prefix}himeplatforminputcontextplugin - plugins/platforminputcontexts/${qt_lib_prefix}nimfplatforminputcontextplugin plugins/platformthemes/${qt_lib_prefix}qxdgdesktopportal ) set(qt_libs_dbus_bearers