From 68438bb43d600005acf215c80fb940508a4507b0 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 4 Oct 2020 07:26:53 +0400 Subject: [PATCH] Add desktop-app::external_glib --- external/CMakeLists.txt | 3 ++ external/glib/CMakeLists.txt | 36 +++++++++++++++++++ .../hime_qt/hime_im_client/CMakeLists.txt | 10 +++--- external/nimf_qt5/CMakeLists.txt | 9 +---- 4 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 external/glib/CMakeLists.txt diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 5882bbb..2d79326 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -22,6 +22,9 @@ if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION) add_checked_subdirectory(fcitx5_qt5) endif() add_checked_subdirectory(ffmpeg) +if (LINUX) + add_checked_subdirectory(glib) +endif() add_checked_subdirectory(gsl) if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION) add_checked_subdirectory(hime_qt) diff --git a/external/glib/CMakeLists.txt b/external/glib/CMakeLists.txt new file mode 100644 index 0000000..55c277e --- /dev/null +++ b/external/glib/CMakeLists.txt @@ -0,0 +1,36 @@ +# 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_glib INTERFACE IMPORTED GLOBAL) +add_library(desktop-app::external_glib ALIAS external_glib) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GOBJECT REQUIRED IMPORTED_TARGET gobject-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +if (DESKTOP_APP_USE_PACKAGED) + target_link_libraries(external_glib + INTERFACE + PkgConfig::GIO + PkgConfig::GOBJECT + PkgConfig::GLIB2 + ) +else() + target_include_directories(external_glib + INTERFACE + ${GIO_INCLUDE_DIRS} + ${GOBJECT_INCLUDE_DIRS} + ${GLIB2_INCLUDE_DIRS} + ) + + target_link_libraries(external_glib + INTERFACE + gio-2.0 + gobject-2.0 + glib-2.0 + ) +endif() diff --git a/external/hime_qt/hime_im_client/CMakeLists.txt b/external/hime_qt/hime_im_client/CMakeLists.txt index 72d7bea..c90c717 100644 --- a/external/hime_qt/hime_im_client/CMakeLists.txt +++ b/external/hime_qt/hime_im_client/CMakeLists.txt @@ -54,29 +54,29 @@ else() CLIENT_LIB=1 ) + target_link_libraries(external_hime_im_client + PRIVATE + desktop-app::external_glib + ) + if (DESKTOP_APP_USE_PACKAGED) pkg_check_modules(X11 REQUIRED IMPORTED_TARGET x11) - pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0) target_link_libraries(external_hime_im_client PRIVATE PkgConfig::X11 - PkgConfig::GLIB2 ) else() pkg_check_modules(X11 REQUIRED x11) - pkg_check_modules(GLIB2 REQUIRED glib-2.0) target_include_directories(external_hime_im_client PRIVATE ${X11_INCLUDE_DIRS} - ${GLIB2_INCLUDE_DIRS} ) target_link_libraries(external_hime_im_client PRIVATE X11 - glib-2.0 ) endif() endif() diff --git a/external/nimf_qt5/CMakeLists.txt b/external/nimf_qt5/CMakeLists.txt index 6e2eee3..57f52a6 100644 --- a/external/nimf_qt5/CMakeLists.txt +++ b/external/nimf_qt5/CMakeLists.txt @@ -23,18 +23,10 @@ else() 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 @@ -49,6 +41,7 @@ else() target_link_libraries(external_nimf_qt5 PRIVATE desktop-app::external_qt + desktop-app::external_glib ${CMAKE_DL_LIBS} ) endif()