diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 2d79326..2fd24d9 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -65,5 +65,8 @@ add_checked_subdirectory(variant) if (NOT DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION) add_checked_subdirectory(webrtc) endif() +if (LINUX) + add_checked_subdirectory(xcb) +endif() add_checked_subdirectory(xxhash) add_checked_subdirectory(zlib) diff --git a/external/fcitx5_qt5/CMakeLists.txt b/external/fcitx5_qt5/CMakeLists.txt index 3a7d26a..98e4cc9 100644 --- a/external/fcitx5_qt5/CMakeLists.txt +++ b/external/fcitx5_qt5/CMakeLists.txt @@ -46,12 +46,12 @@ else() PRIVATE desktop-app::external_fcitx5_qt5_dbusaddons desktop-app::external_qt + desktop-app::external_xcb ) if (DESKTOP_APP_USE_PACKAGED) find_package(PkgConfig REQUIRED) pkg_check_modules(XKBCOMMON REQUIRED IMPORTED_TARGET xkbcommon) - pkg_check_modules(XCB REQUIRED IMPORTED_TARGET xcb) target_link_libraries(external_fcitx5_qt5 PRIVATE @@ -61,22 +61,15 @@ else() else() find_package(PkgConfig REQUIRED) pkg_check_modules(XKBCOMMON REQUIRED xkbcommon) - pkg_check_modules(XCB REQUIRED xcb) target_include_directories(external_fcitx5_qt5 PUBLIC ${XKBCOMMON_INCLUDE_DIRS} - ${XCB_INCLUDE_DIRS} ) target_link_static_libraries(external_fcitx5_qt5 PRIVATE xkbcommon ) - - target_link_libraries(external_fcitx5_qt5 - PRIVATE - xcb - ) endif() endif() diff --git a/external/xcb/CMakeLists.txt b/external/xcb/CMakeLists.txt new file mode 100644 index 0000000..d413d1e --- /dev/null +++ b/external/xcb/CMakeLists.txt @@ -0,0 +1,18 @@ +# 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_xcb INTERFACE IMPORTED GLOBAL) +add_library(desktop-app::external_xcb ALIAS external_xcb) + +add_subdirectory(xcb_screensaver) + +if (DESKTOP_APP_USE_PACKAGED) + find_package(PkgConfig REQUIRED) + pkg_check_modules(XCB REQUIRED IMPORTED_TARGET xcb) + target_link_libraries(external_xcb INTERFACE PkgConfig::XCB) +else() + target_link_libraries(external_xcb INTERFACE xcb) +endif() diff --git a/external/xcb/xcb_screensaver/CMakeLists.txt b/external/xcb/xcb_screensaver/CMakeLists.txt new file mode 100644 index 0000000..20617d1 --- /dev/null +++ b/external/xcb/xcb_screensaver/CMakeLists.txt @@ -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 + +add_library(external_xcb_screensaver INTERFACE IMPORTED GLOBAL) +add_library(desktop-app::external_xcb_screensaver ALIAS external_xcb_screensaver) + +if (DESKTOP_APP_USE_PACKAGED) + find_package(PkgConfig REQUIRED) + pkg_check_modules(XCB_SCREENSAVER REQUIRED IMPORTED_TARGET xcb-screensaver) + target_link_libraries(external_xcb_screensaver INTERFACE PkgConfig::XCB_SCREENSAVER) +else() + target_link_static_libraries(external_xcb_screensaver INTERFACE xcb-screensaver) +endif()