1
0
Fork 0

Add dependencies for StatusNotifierItem

This commit is contained in:
Ilya Fedin 2020-02-02 04:56:32 +04:00 committed by John Preston
parent d28d9d632a
commit ce65c2369e
3 changed files with 117 additions and 0 deletions

View file

@ -6,6 +6,9 @@
add_subdirectory(auto_updates)
add_subdirectory(crash_reports)
if (LINUX)
add_subdirectory(dbusmenu_qt)
endif()
add_subdirectory(expected)
add_subdirectory(ffmpeg)
add_subdirectory(gsl)
@ -21,6 +24,9 @@ add_subdirectory(rlottie)
if (APPLE)
add_subdirectory(sp_media_key_tap)
endif()
if (LINUX)
add_subdirectory(statusnotifieritem)
endif()
add_subdirectory(variant)
add_subdirectory(xxhash)
add_subdirectory(zlib)

74
external/dbusmenu_qt/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,74 @@
# 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)
add_library(external_dbusmenu_qt INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_dbusmenu_qt ALIAS external_dbusmenu_qt)
find_package(dbusmenu-qt5)
if (dbusmenu-qt5_FOUND)
target_link_libraries(external_dbusmenu_qt INTERFACE dbusmenu-qt5)
endif()
else()
add_library(external_dbusmenu_qt OBJECT)
add_library(desktop-app::external_dbusmenu_qt ALIAS external_dbusmenu_qt)
init_target(external_dbusmenu_qt "(external)")
set(dbusmenu_qt_VERSION_MAJOR 0)
set(dbusmenu_qt_VERSION_MINOR 9)
set(dbusmenu_qt_VERSION_PATCH 2)
set(dbusmenu_qt_loc ${third_party_loc}/libdbusmenu-qt/src)
set(CMAKE_AUTOMOC_RELAXED_MODE ON)
set_target_properties(external_dbusmenu_qt PROPERTIES AUTOMOC ON AUTORCC ON)
check_cxx_source_compiles("
#include <QtGui/QIcon>
int main() {
QIcon icon;
icon.name();
return 0;
}
" HAVE_QICON_NAME)
if (NOT HAVE_QICON_NAME)
message(STATUS "QIcon::name() does not exist, DBusMenuExporter will not export icon names by itself")
endif()
configure_file(${dbusmenu_qt_loc}/dbusmenu_config.h.in "${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_config.h" @ONLY)
configure_file(${dbusmenu_qt_loc}/dbusmenu_version.h.in "${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_version.h")
nice_target_sources(external_dbusmenu_qt ${dbusmenu_qt_loc}
PRIVATE
dbusmenu_p.cpp
dbusmenuexporter.cpp
dbusmenuexporterdbus_p.cpp
dbusmenuimporter.cpp
dbusmenutypes_p.cpp
dbusmenushortcut_p.cpp
utils.cpp
)
qt5_add_dbus_adaptor(dbusmenu_adaptor
${dbusmenu_qt_loc}/com.canonical.dbusmenu.xml
${dbusmenu_qt_loc}/dbusmenuexporterdbus_p.h
DBusMenuExporterDBus
)
target_sources(external_dbusmenu_qt PRIVATE ${dbusmenu_adaptor})
target_include_directories(external_dbusmenu_qt
PUBLIC
${dbusmenu_qt_loc}
"${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(external_dbusmenu_qt
PUBLIC
desktop-app::external_qt
)
endif()

View file

@ -0,0 +1,37 @@
# 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_statusnotifieritem INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_statusnotifieritem ALIAS external_statusnotifieritem)
set(statusnotifieritem_loc ${third_party_loc}/statusnotifieritem)
nice_target_sources(external_statusnotifieritem ${statusnotifieritem_loc}
INTERFACE
dbustypes.cpp
dbustypes.h
statusnotifieritem.cpp
statusnotifieritem.h
)
qt5_add_dbus_adaptor(sni_adaptor
${statusnotifieritem_loc}/org.kde.StatusNotifierItem.xml
${statusnotifieritem_loc}/statusnotifieritem.h
StatusNotifierItem
)
target_sources(external_statusnotifieritem INTERFACE ${sni_adaptor})
target_include_directories(external_statusnotifieritem
INTERFACE
${statusnotifieritem_loc}
"${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(external_statusnotifieritem
INTERFACE
desktop-app::external_dbusmenu_qt
desktop-app::external_qt
)