# Install icons
-# We put them in DATA_INSTALL_DIR rather than ICON_INSTALL_DIR, to avoid
-# polluting the global namespace and to allow overriding
-
-if(WANT_MONO OR WANT_QTCLIENT)
-
- # Figure out if we want to install KDE's icons
- # Starting with KDE 4.3, they shouldn't be needed anymore
- set(INSTALL_OXY true)
- string(TOUPPER ${WITH_OXYGEN} OXY_UPPER)
- if(NOT OXY_UPPER)
- set(INSTALL_OXY false)
- elseif(OXY_UPPER MATCHES "AUTO")
- if(HAVE_KDE)
- if(KDE_VERSION VERSION_GREATER 4.2.99)
- set(INSTALL_OXY false)
- endif(KDE_VERSION VERSION_GREATER 4.2.99)
- endif(HAVE_KDE)
- endif(NOT OXY_UPPER)
-
- if(INSTALL_OXY)
- message(STATUS "Installing Oxygen icons")
- else(INSTALL_OXY)
- message(STATUS "Not installing Oxygen icons")
- endif(INSTALL_OXY)
-
- if(EMBED_DATA)
- set(ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/hicolor.qrc ${CMAKE_CURRENT_SOURCE_DIR}/oxygen.qrc)
- if(INSTALL_OXY)
- set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/oxygen_kde.qrc)
- endif(INSTALL_OXY)
- set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE)
- else(EMBED_DATA)
- install(DIRECTORY hicolor DESTINATION ${ICON_INSTALL_DIR})
- install(DIRECTORY oxygen DESTINATION ${DATA_INSTALL_DIR}/quassel/icons)
- if(INSTALL_OXY)
- install(DIRECTORY oxygen_kde/ DESTINATION ${DATA_INSTALL_DIR}/quassel/icons/oxygen)
- endif(INSTALL_OXY)
- endif(EMBED_DATA)
-endif(WANT_MONO OR WANT_QTCLIENT)
+#
+# We put the bundled oxygen icon theme in DATADIR rather than ICONDIR,
+# in order to avoid conflicts. As we add this directory to XDG_DATA_DIRS at runtime,
+# the bundled theme will be found by Qt only if there is no oxygen theme installed
+# in system directories.
+#
+# The hicolor folder contains icons vital for the Quassel UI (such as in the channel and nick
+# lists). It is installed into the system icon directory (in order to allow overriding) and
+# additionally always embedded as a fallback resource.
-# Application icon
+if (WANT_MONO OR WANT_QTCLIENT)
+ set(ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/hicolor.qrc) # always embed those
+
+ if (EMBED_DATA)
+ if (WITH_OXYGEN)
+ message(STATUS "Embedding bundled Oxygen icons")
+ set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/oxygen.qrc)
+ endif()
+ if (WITH_BREEZE)
+ message(STATUS "Embedding bundled Breeze icons")
+ set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/breeze.qrc)
+ endif()
+ if (WITH_BREEZE_DARK)
+ message(STATUS "Embedding bundled Breeze Dark icons")
+ set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/breezedark.qrc)
+ endif()
+ else()
+ install(DIRECTORY hicolor DESTINATION ${CMAKE_INSTALL_ICONDIR})
+ if (WITH_OXYGEN)
+ message(STATUS "Installing bundled Oxygen icons")
+ install(DIRECTORY oxygen DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons)
+ endif()
+ if (WITH_BREEZE)
+ message(STATUS "Installing bundled Breeze icons")
+ install(DIRECTORY breeze DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons)
+ endif()
+ if (WITH_BREEZE_DARK)
+ message(STATUS "Installing bundled Breeze Dark icons")
+ install(DIRECTORY breezedark DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons)
+ endif()
+ endif()
+
+ if (NOT WITH_OXYGEN)
+ message(STATUS "Not installing bundled Oxygen icons")
+ endif()
-# cmake-2.6.2 can't handle nested conditions
-# if((UNIX AND NOT APPLE) OR HAVE_KDE)
-if(HAVE_KDE OR UNIX)
- if(HAVE_KDE OR NOT APPLE)
+ if (NOT WITH_BREEZE)
+ message(STATUS "Not installing bundled Breeze icons")
+ endif()
- install(FILES oxygen_kde/48x48/apps/quassel.png DESTINATION ${ICON_INSTALL_DIR}/hicolor/48x48/apps)
- if(CMAKE_INSTALL_PREFIX STREQUAL "/usr")
- install(FILES oxygen_kde/48x48/apps/quassel.png DESTINATION /usr/share/pixmaps)
- endif(CMAKE_INSTALL_PREFIX STREQUAL "/usr")
+ if (NOT WITH_BREEZE_DARK)
+ message(STATUS "Not installing bundled Breeze Dark icons")
+ endif()
+
+ set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE)
+endif()
+
+# Application icon
-# endif((UNIX AND NOT APPLE) OR HAVE_KDE)
- endif(HAVE_KDE OR NOT APPLE)
-endif(HAVE_KDE OR UNIX)
+if (HAVE_KDE OR (UNIX AND NOT APPLE))
+ install(FILES hicolor/48x48/apps/quassel.png DESTINATION ${CMAKE_INSTALL_ICONDIR}/hicolor/48x48/apps)
+ if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
+ install(FILES hicolor/48x48/apps/quassel.png DESTINATION /usr/share/pixmaps)
+ endif()
+endif()