1
0
Fork 0

Add lxqt-qtplugin and xdgiconloader modules

This commit is contained in:
Ilya Fedin 2020-05-05 11:12:18 +04:00 committed by John Preston
parent bce16efbe6
commit b026d86b57
5 changed files with 123 additions and 0 deletions

View file

@ -30,6 +30,9 @@ if (add_hunspell_library)
add_checked_subdirectory(hunspell) add_checked_subdirectory(hunspell)
endif() endif()
add_checked_subdirectory(iconv) add_checked_subdirectory(iconv)
if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
add_checked_subdirectory(lxqt_qtplugin)
endif()
add_checked_subdirectory(lz4) add_checked_subdirectory(lz4)
if (LINUX) if (LINUX)
add_checked_subdirectory(materialdecoration) add_checked_subdirectory(materialdecoration)
@ -58,5 +61,8 @@ if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
endif() endif()
add_checked_subdirectory(ton) add_checked_subdirectory(ton)
add_checked_subdirectory(variant) add_checked_subdirectory(variant)
if (LINUX)
add_checked_subdirectory(xdgiconloader)
endif()
add_checked_subdirectory(xxhash) add_checked_subdirectory(xxhash)
add_checked_subdirectory(zlib) add_checked_subdirectory(zlib)

47
external/lxqt_qtplugin/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,47 @@
# 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_PLATFORMTHEMES)
add_library(external_lxqt_qtplugin INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_lxqt_qtplugin ALIAS external_lxqt_qtplugin)
else()
add_library(external_lxqt_qtplugin STATIC)
add_library(desktop-app::external_lxqt_qtplugin ALIAS external_lxqt_qtplugin)
init_target(external_lxqt_qtplugin "(external)")
set(lxqt_qtplugin_loc ${third_party_loc}/lxqt-qtplugin)
set(lxqt_qtplugin_src ${lxqt_qtplugin_loc}/src)
set_target_properties(external_lxqt_qtplugin PROPERTIES AUTOMOC ON)
nice_target_sources(external_lxqt_qtplugin ${lxqt_qtplugin_src}
PRIVATE
main.cpp
lxqtplatformtheme.cpp
lxqtplatformtheme.h
lxqtsystemtrayicon.cpp
lxqtsystemtrayicon.h
)
target_include_directories(external_lxqt_qtplugin
PRIVATE
${lxqt_qtplugin_src}
)
target_compile_definitions(external_lxqt_qtplugin
PRIVATE
QT_STATICPLUGIN
QT_NO_FOREACH
LIB_FM_QT_SONAME="libfm-qt.so.7"
)
target_link_libraries(external_lxqt_qtplugin
PRIVATE
desktop-app::external_statusnotifieritem
desktop-app::external_xdgiconloader
desktop-app::external_qt
)
endif()

View file

@ -66,6 +66,10 @@ if (DESKTOP_APP_USE_PACKAGED)
) )
endif() endif()
if (Qt5Svg_FOUND)
target_link_libraries(external_qt INTERFACE Qt5::Svg)
endif()
if (Qt5DBus_FOUND) if (Qt5DBus_FOUND)
target_link_libraries(external_qt INTERFACE Qt5::DBus) target_link_libraries(external_qt INTERFACE Qt5::DBus)
endif() endif()
@ -75,6 +79,7 @@ else()
${qt_loc}/include ${qt_loc}/include
${qt_loc}/include/QtCore ${qt_loc}/include/QtCore
${qt_loc}/include/QtGui ${qt_loc}/include/QtGui
${qt_loc}/include/QtSvg
${qt_loc}/include/QtWidgets ${qt_loc}/include/QtWidgets
${qt_loc}/include/QtThemeSupport ${qt_loc}/include/QtThemeSupport
${qt_loc}/include/QtWaylandClient ${qt_loc}/include/QtWaylandClient
@ -104,6 +109,7 @@ else()
QT_THEME_SUPPORT_LIB QT_THEME_SUPPORT_LIB
QT_WIDGETS_LIB QT_WIDGETS_LIB
QT_NETWORK_LIB QT_NETWORK_LIB
QT_SVG_LIB
QT_GUI_LIB QT_GUI_LIB
QT_CORE_LIB QT_CORE_LIB
) )
@ -226,6 +232,7 @@ else()
plugins/platforms/${qt_lib_prefix}qwayland-egl plugins/platforms/${qt_lib_prefix}qwayland-egl
plugins/platforms/${qt_lib_prefix}qwayland-generic plugins/platforms/${qt_lib_prefix}qwayland-generic
plugins/platforms/${qt_lib_prefix}qxcb plugins/platforms/${qt_lib_prefix}qxcb
plugins/imageformats/${qt_lib_prefix}qsvg
plugins/iconengines/${qt_lib_prefix}qsvgicon plugins/iconengines/${qt_lib_prefix}qsvgicon
lib/${qt_lib_prefix}Qt5XcbQpa lib/${qt_lib_prefix}Qt5XcbQpa
lib/${qt_lib_prefix}Qt5EglSupport lib/${qt_lib_prefix}Qt5EglSupport

View file

@ -28,6 +28,10 @@ if (LINUX)
find_package(Qt5 COMPONENTS WaylandClient Svg REQUIRED) find_package(Qt5 COMPONENTS WaylandClient Svg REQUIRED)
elseif (DESKTOP_APP_USE_PACKAGED_LAZY) elseif (DESKTOP_APP_USE_PACKAGED_LAZY)
find_package(Qt5 COMPONENTS WaylandClient REQUIRED) find_package(Qt5 COMPONENTS WaylandClient REQUIRED)
if (DESKTOP_APP_USE_PACKAGED_LAZY_PLATFORMTHEMES)
find_package(Qt5 COMPONENTS Svg REQUIRED)
endif()
endif() endif()
if (DESKTOP_APP_DISABLE_DBUS_INTEGRATION) if (DESKTOP_APP_DISABLE_DBUS_INTEGRATION)

59
external/xdgiconloader/CMakeLists.txt vendored Normal file
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
if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY_PLATFORMTHEMES)
add_library(external_xdgiconloader INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_xdgiconloader ALIAS external_xdgiconloader)
else()
add_library(external_xdgiconloader OBJECT)
add_library(desktop-app::external_xdgiconloader ALIAS external_xdgiconloader)
init_target(external_xdgiconloader "(external)")
set(libqtxdg_loc ${third_party_loc}/libqtxdg)
set(xdgiconloader_src ${libqtxdg_loc}/src/xdgiconloader)
set(xdgiconloader_includedir "${CMAKE_CURRENT_BINARY_DIR}/xdgiconloader")
set_target_properties(external_xdgiconloader PROPERTIES AUTOMOC ON)
nice_target_sources(external_xdgiconloader ${xdgiconloader_src}
PRIVATE
xdgiconloader.cpp
xdgiconloader_p.h
)
include(GenerateExportHeader)
generate_export_header(external_xdgiconloader BASE_NAME XdgIconLoader)
configure_file(
"${CMAKE_CURRENT_BINARY_DIR}/xdgiconloader_export.h"
"${xdgiconloader_includedir}/xdgiconloader_export.h"
COPYONLY
)
file(
COPY
${xdgiconloader_src}/xdgiconloader_p.h
DESTINATION
${xdgiconloader_includedir}/private/xdgiconloader
)
target_include_directories(external_xdgiconloader
PUBLIC
${xdgiconloader_includedir}
PRIVATE
${xdgiconloader_src}
)
target_compile_definitions(external_xdgiconloader
PRIVATE
QT_NO_KEYWORDS
)
target_link_libraries(external_xdgiconloader
PUBLIC
desktop-app::external_qt
)
endif()