uisupport: Provide helpers for dealing with widget changes
[quassel.git] / src / uisupport / CMakeLists.txt
index bc69347..3b19471 100644 (file)
@@ -1,49 +1,75 @@
-# Builds the uisupport module
+quassel_add_module(UiSupport EXPORT)
 
-set(QT_DONT_USE_QTGUI 0)
-set(QT_USE_QTNETWORK 1)
-include(${QT_USE_FILE})
-
-set(SOURCES
+target_sources(${TARGET} PRIVATE
+    aboutdata.cpp
     abstractbuffercontainer.cpp
     abstractitemview.cpp
+    action.cpp
+    actioncollection.cpp
+    bufferhotlistfilter.cpp
     bufferview.cpp
     bufferviewfilter.cpp
+    bufferviewoverlayfilter.cpp
     clearablelineedit.cpp
+    clickable.cpp
     clickablelabel.cpp
     colorbutton.cpp
-    nickviewfilter.cpp
-    inputline.cpp
+    contextmenuactionprovider.cpp
+    flatproxymodel.cpp
+    fontselector.cpp
+    graphicalui.cpp
+    icon.cpp
+    multilineedit.cpp
+    networkmodelcontroller.cpp
     nickview.cpp
+    nickviewfilter.cpp
+    qssparser.cpp
+    resizingstackedwidget.cpp
     settingspage.cpp
+    styledlabel.cpp
     tabcompleter.cpp
+    toolbaractionprovider.cpp
+    treeviewtouch.cpp
     uisettings.cpp
     uistyle.cpp
-    uistylesettings.cpp)
+    widgethelpers.h
+
+    # needed for automoc
+    abstractnotificationbackend.h
+)
 
-set(MOC_HDRS
-    abstractbuffercontainer.h
-    abstractitemview.h
-    bufferview.h
-    bufferviewfilter.h
-    clearablelineedit.h
-    clickablelabel.h
-    colorbutton.h
-    nickviewfilter.h
-    inputline.h
-    nickview.h
-    settingspage.h
-    tabcompleter.h)
+target_link_libraries(${TARGET}
+    PUBLIC
+        Qt5::Core
+        Qt5::Gui
+        Qt5::Network
+        Qt5::Widgets
+        Quassel::Client
+        Quassel::Common
+)
 
-set(HEADERS
-    uisettings.h
-    uistyle.h
-    uistylesettings.h)
+if (EMBED_DATA)
+    set_property(SOURCE graphicalui.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
+endif()
 
-qt4_wrap_cpp(MOC ${MOC_HDRS})
+if (WITH_KF5)
+    target_link_libraries(${TARGET}
+        PUBLIC
+            KF5::CoreAddons
+            KF5::TextWidgets
+            KF5::XmlGui
+    )
+endif()
 
-include_directories(${CMAKE_SOURCE_DIR}/src/common
-                    ${CMAKE_SOURCE_DIR}/src/client)
+if (KF5Sonnet_FOUND)
+    target_link_libraries(${TARGET} PRIVATE KF5::SonnetUi)
+    target_compile_definitions(${TARGET} PRIVATE -DHAVE_SONNET)
+endif()
 
-add_library(mod_uisupport STATIC ${SOURCES} ${MOC} ${HEADERS})
-add_dependencies(mod_uisupport mod_common mod_client)
+target_link_if_exists(${TARGET}
+    PUBLIC
+        Quassel::Resource::HicolorIcons
+        Quassel::Resource::Icons
+        Quassel::Resource::IconThemes
+        Quassel::Resource::Pics
+)