-# Builds the uisupport module
+quassel_add_module(UiSupport EXPORT)
-if(WITH_QT5)
- setup_qt_variables(Widgets Network)
-else(WITH_QT5)
- setup_qt_variables(Gui Network)
-endif(WITH_QT5)
-
-set(SOURCES
+target_sources(${TARGET} PRIVATE
+ aboutdata.cpp
abstractbuffercontainer.cpp
abstractitemview.cpp
- abstractnotificationbackend.cpp
action.cpp
actioncollection.cpp
bufferhotlistfilter.cpp
fontselector.cpp
graphicalui.cpp
icon.cpp
- iconloader.cpp
multilineedit.cpp
networkmodelcontroller.cpp
nickview.cpp
styledlabel.cpp
tabcompleter.cpp
toolbaractionprovider.cpp
+ treeviewtouch.cpp
uisettings.cpp
uistyle.cpp
- )
+ widgethelpers.h
-set(MOC_HDRS
- abstractbuffercontainer.h
- abstractitemview.h
+ # needed for automoc
abstractnotificationbackend.h
- action.h
- actioncollection.h
- bufferhotlistfilter.h
- bufferview.h
- bufferviewfilter.h
- bufferviewoverlayfilter.h
- clearablelineedit.h
- clickablelabel.h
- colorbutton.h
- contextmenuactionprovider.h
- flatproxymodel.h
- fontselector.h
- graphicalui.h
- iconloader.h
- multilineedit.h
- networkmodelcontroller.h
- nickview.h
- nickviewfilter.h
- resizingstackedwidget.h
- settingspage.h
- styledlabel.h
- tabcompleter.h
- toolbaractionprovider.h
- uistyle.h
- )
+)
-set(HEADERS
- clickable.h
- icon.h
- qssparser.h
- uisettings.h
- )
+target_link_libraries(${TARGET}
+ PUBLIC
+ Qt5::Core
+ Qt5::Gui
+ Qt5::Network
+ Qt5::Widgets
+ Quassel::Client
+ Quassel::Common
+)
-if(HAVE_KDE)
- set(SOURCES ${SOURCES} kcmdlinewrapper.cpp)
- set(HEADERS ${HEADERS} kcmdlinewrapper.h)
-endif(HAVE_KDE)
+if (EMBED_DATA)
+ set_property(SOURCE graphicalui.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
+endif()
-include_directories(${CMAKE_SOURCE_DIR}/src/common
- ${CMAKE_SOURCE_DIR}/src/client
- ${QUASSEL_QT_INCLUDES}
- ${QCA2_INCLUDE_DIR})
+if (WITH_KF5)
+ target_link_libraries(${TARGET}
+ PUBLIC
+ KF5::CoreAddons
+ KF5::TextWidgets
+ KF5::XmlGui
+ )
+endif()
-if(NOT WITH_QT5)
- qt4_wrap_cpp(MOC ${MOC_HDRS})
-endif(NOT WITH_QT5)
+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)
-set_target_properties(mod_uisupport PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")
+target_link_if_exists(${TARGET}
+ PUBLIC
+ Quassel::Resource::HicolorIcons
+ Quassel::Resource::Icons
+ Quassel::Resource::IconThemes
+ Quassel::Resource::Pics
+)