X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=icons%2FCMakeLists.txt;h=6ffb7ecd429a0215cb43e9e612c29a1c2cb7913e;hp=480598eab82f73899f1014b5345fe19458d43e15;hb=041c9df658289105e566fe0b31cf7ffab51bc275;hpb=e41f08f5fe7b446c48aef48f04cb26b1a9ba0da2 diff --git a/icons/CMakeLists.txt b/icons/CMakeLists.txt index 480598ea..6ffb7ecd 100644 --- a/icons/CMakeLists.txt +++ b/icons/CMakeLists.txt @@ -1,20 +1,84 @@ # 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) - if(EMBED_DATA) - set(CLIENT_RCS ${CLIENT_RCS} ../icons/hicolor.qrc ../icons/oxygen.qrc PARENT_SCOPE) - else(EMBED_DATA) - install(DIRECTORY hicolor DESTINATION ${DATA_INSTALL_DIR}/quassel/icons) - install(DIRECTORY oxygen DESTINATION ${DATA_INSTALL_DIR}/quassel/icons) - endif(EMBED_DATA) -endif(WANT_MONO OR WANT_QTCLIENT) - -# Application icon -if(NOT APPLE AND NOT WIN32) - install(FILES oxygen/48x48/apps/quassel.png DESTINATION ${ICON_INSTALL_DIR}/hicolor/48x48/apps) - if(CMAKE_INSTALL_PREFIX STREQUAL "/usr") - install(FILES oxygen/48x48/apps/quassel.png DESTINATION /usr/share/pixmaps) - endif(CMAKE_INSTALL_PREFIX STREQUAL "/usr") -endif(NOT APPLE AND NOT WIN32) +# +# 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. + +if (WANT_MONO OR WANT_QTCLIENT) + set(ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/hicolor.qrc) # always embed those + + if (NOT WITH_OXYGEN) + message(STATUS "Not installing bundled Oxygen icons") + endif() + + if (NOT WITH_BREEZE) + message(STATUS "Not installing bundled Breeze icons") + endif() + + if (NOT WITH_BREEZE_DARK) + message(STATUS "Not installing bundled Breeze Dark icons") + endif() + + 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() + + message(STATUS "Embedding some extra Oxygen styled icons") + set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/oxygen-extra.qrc) + + message(STATUS "Embedding some extra Breeze styled icons") + set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/breeze-extra.qrc) + + message(STATUS "Embedding some extra Breeze Dark styled icons") + set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/breezedark-extra.qrc) + + 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() + + message(STATUS "Installing some extra bundled Oxygen styled icons") + install(DIRECTORY extra-icons/oxygen DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons/extra) + + message(STATUS "Installing some extra bundled Breeze styled icons") + install(DIRECTORY extra-icons/breeze DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons/extra) + + message(STATUS "Installing some extra bundled Breeze Dark styled icons") + install(DIRECTORY extra-icons/breezedark DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons/extra) + endif() + + set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE) + + # Application icon + 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() +endif()