X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2FCMakeLists.txt;h=b66b090c2ec8f6f5e5d9ab6507ab1b00d7c1b51e;hp=e2f7eb06d3a73cfbaf6cb2f7d41ab2f1eaecee52;hb=7f8c7852c2ee6b529fbc6c5fa38b49b53b15af1a;hpb=5b43f2776fa53bfe15a5b3b4398dfe3e931d5802 diff --git a/src/qtui/CMakeLists.txt b/src/qtui/CMakeLists.txt index e2f7eb06..b66b090c 100644 --- a/src/qtui/CMakeLists.txt +++ b/src/qtui/CMakeLists.txt @@ -75,42 +75,79 @@ set(FORMS settingspagedlg.ui simplenetworkeditor.ui receivefiledlg.ui - topicwidget.ui) - -if(HAVE_KDE) - set(SOURCES ${SOURCES} knotificationbackend.cpp) -else(HAVE_KDE) - if(HAVE_SNORENOTIFY) - set(SOURCES ${SOURCES} snorenotificationbackend.cpp) - set(FORMS ${FORMS} snorentificationconfigwidget.ui) - endif(HAVE_SNORENOTIFY) - if(HAVE_PHONON) - set(SOURCES ${SOURCES} phononnotificationbackend.cpp) - set(FORMS ${FORMS} phononnotificationconfigwidget.ui) + topicwidget.ui +) + +set(LIBS ) +set(QT_MODULES ) + +if (KDE4_FOUND) + add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) + include_directories(${KDE4_INCLUDES}) + list(APPEND SOURCES knotificationbackend.cpp) + list(APPEND LIBS ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBRARY} ${KDE4_KNOTIFYCONFIG_LIBRARY}) +endif() + +if (LIBSNORE_FOUND) + add_definitions(-DHAVE_LIBSNORE) + include_directories(${LIBSNORE_INCLUDE_DIRS}) + list(APPEND SOURCES snorenotificationbackend.cpp) + list(APPEND FORMS snorentificationconfigwidget.ui) + list(APPEND LIBS ${LIBSNORE_LIBRARIES}) +endif() + +if (PHONON_FOUND OR Phonon4Qt5_FOUND) + add_definitions(-DHAVE_PHONON) include_directories(${PHONON_INCLUDES}) - endif(HAVE_PHONON) -endif(HAVE_KDE) + set(SOURCES ${SOURCES} phononnotificationbackend.cpp) + set(FORMS ${FORMS} phononnotificationconfigwidget.ui) + list(APPEND LIBS ${PHONON_LIBS}) # PHONON_LIBRARIES only exists in config mode, it's not set by the legacy FindPhonon.cmake +endif() + +if (QT_QTDBUS_FOUND OR Qt5DBus_FOUND) + add_definitions(-DHAVE_DBUS) + list(APPEND QT_MODULES DBus) + if (dbusmenu-qt_FOUND OR dbusmenu-qt5_FOUND) + add_definitions(-DHAVE_DBUSMENU) + include_directories(${dbusmenu-qt_INCLUDE_DIRS} ${dbusmenu-qt5_INCLUDE_DIRS}) + if (dbusmenu-qt_FOUND) + list(APPEND LIBS dbusmenu-qt) + else() + list(APPEND LIBS dbusmenu-qt5) + endif() + endif() + + list(APPEND SOURCES statusnotifieritem.cpp statusnotifieritemdbus.cpp dockmanagernotificationbackend.cpp) + qt_add_dbus_interface(SOURCES ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher) + qt_add_dbus_interface(SOURCES ../../interfaces/org.freedesktop.Notifications.xml notificationsclient) + qt_add_dbus_adaptor (SOURCES ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus) +endif() -if (HAVE_DBUS) - set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp dockmanagernotificationbackend.cpp) - qt_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher) - qt_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient) - qt_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus) -endif(HAVE_DBUS) +if (QT_QTWEBKIT_FOUND OR Qt5WebKitWidgets_FOUND) + add_definitions(-DHAVE_WEBKIT) + list(APPEND QT_MODULES WebKit) + if (USE_QT5) + list(APPEND QT_MODULES WebKitWidgets) + endif() +endif() if(HAVE_SSL) set(SOURCES ${SOURCES} sslinfodlg.cpp) set(FORMS ${FORMS} sslinfodlg.ui) endif(HAVE_SSL) -if(INDICATEQT_FOUND) - set(SOURCES ${SOURCES} indicatornotificationbackend.cpp) - set(FORMS ${FORMS} indicatornotificationconfigwidget.ui) - include_directories(${INDICATEQT_INCLUDE_DIRS}) -endif(INDICATEQT_FOUND) +if (INDICATEQT_FOUND) + add_definitions(-DHAVE_INDICATEQT) + include_directories(${INDICATEQT_INCLUDE_DIRS}) + list(APPEND SOURCES indicatornotificationbackend.cpp) + list(APPEND FORMS indicatornotificationconfigwidget.ui) + list(APPEND LIBS ${INDICATEQT_LIBRARIES}) +endif() -if(HAVE_NOTIFICATION_CENTER) - set(SOURCES ${SOURCES} osxnotificationbackend.mm) +if (WITH_NOTIFICATION_CENTER) + add_definitions(-DHAVE_NOTIFICATION_CENTER) + list(APPEND SOURCES osxnotificationbackend.mm) + list(APPEND LIBS "/System/Library/Frameworks/Foundation.framework") endif() foreach(FORM ${FORMS}) @@ -140,19 +177,16 @@ include_directories(${CMAKE_SOURCE_DIR}/src/common qt_wrap_ui(UI ${FORMPATH} ${SPFRM}) -if (WITH_QT5) - list(APPEND qt_modules Widgets) +if (USE_QT5) + list(APPEND QT_MODULES Widgets) endif() -if (HAVE_DBUS) - list(APPEND qt_modules DBus) -endif() -if (HAVE_WEBKIT) - list(APPEND qt_modules Webkit XmlPatterns) -endif() +add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${UI}) +qt_use_modules(mod_qtui Core Gui Network ${QT_MODULES}) -add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${DBUS} ${UI}) -qt_use_modules(mod_qtui Core Gui Network ${qt_modules}) +if (LIBS) + target_link_libraries(mod_qtui ${LIBS}) +endif() add_dependencies(mod_qtui mod_common mod_client mod_uisupport)