# Install icons if (WANT_MONO OR WANT_QTCLIENT) if (NOT WITH_BUNDLED_ICONS AND NOT WITH_OXYGEN_ICONS) message(WARNING "Not including bundled icon themes. Ensure that the Breeze or Oxygen icon theme is installed!") endif() set(BUNDLED_ICON_THEME_DIR ${CMAKE_SOURCE_DIR}/3rdparty/icons) # Always embed a hicolor fallback containing the most important (e.g. tray) icons. # The .qrc contains aliases, so it's best to keep this manually written rather than autogenerated. quassel_add_module(Resource::HicolorIcons STATIC) target_sources(${TARGET} PRIVATE hicolor_icons.qrc) set_target_properties(${TARGET} PROPERTIES AUTOMOC OFF AUTOUIC OFF) if (EMBED_DATA) # Always embed quassel-specific icons message(STATUS "Embedding Quassel-specific icons") set(patterns breeze*/*.svg) if (WITH_OXYGEN_ICONS) list(APPEND patterns oxygen/*.png) endif() quassel_add_resource(Icons PREFIX icons PATTERNS ${patterns}) if (WITH_BUNDLED_ICONS) message(STATUS "Embedding bundled Breeze icon theme") set(patterns breeze*/*.svg breeze*/index.theme) if (WITH_OXYGEN_ICONS) message(STATUS "Embedding bundled Oxygen icon theme") list(APPEND patterns oxygen/*.png oxygen/index.theme) endif() endif() quassel_add_resource(IconThemes PREFIX icons PATTERNS ${patterns} BASEDIR ${BUNDLED_ICON_THEME_DIR}) else() # Always install quassel-specific icons install(DIRECTORY breeze breeze-dark DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons) if (WITH_OXYGEN_ICONS) install(DIRECTORY oxygen DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons) endif() # Install bundled icon themes into our data dir (instead of CMAKE_INSTALL_ICONDIR) to avoid conflicts # with themes provided by the system if (WITH_BUNDLED_ICONS) message(STATUS "Installing bundled Breeze icon theme") install(DIRECTORY ${BUNDLED_ICON_THEME_DIR}/breeze ${BUNDLED_ICON_THEME_DIR}/breeze-dark DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons ) if (WITH_OXYGEN_ICONS) message(STATUS "Installing bundled Oxygen icon theme") install(DIRECTORY ${BUNDLED_ICON_THEME_DIR}/oxygen DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons) endif() endif() endif() # Application icon if (HAVE_KDE OR (UNIX AND NOT APPLE)) # hicolor contains the application icon in all relevant sizes install(DIRECTORY hicolor DESTINATION ${CMAKE_INSTALL_ICONDIR}) if (Qt5Core_VERSION VERSION_LESS 5.5.0) # Qt < 5.5 doesn't seem to correctly load icons from injected themes # Install Quassel-specific ones from Oxygen into hicolor as fallback install(DIRECTORY oxygen/ DESTINATION ${CMAKE_INSTALL_ICONDIR}/hicolor) endif() # For a system install, also copy to pixmaps if (CMAKE_INSTALL_PREFIX STREQUAL "/usr") install(FILES hicolor/48x48/apps/quassel.png DESTINATION /usr/share/pixmaps) endif() endif() endif()