X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=icons%2FCMakeLists.txt;h=7f3f6a2262351f3cbd5e037c1cfc64d30d1af044;hp=6393b1b8920a7e116dc1bb5b43f3fc0623658c8c;hb=7d4dbdf00ab92e8c322656bd2d4d7034ef547001;hpb=907e6c4c2f5e199600b54213f6964d2c50bdc700 diff --git a/icons/CMakeLists.txt b/icons/CMakeLists.txt index 6393b1b8..7f3f6a22 100644 --- a/icons/CMakeLists.txt +++ b/icons/CMakeLists.txt @@ -1,13 +1,63 @@ -# Build and/or install icons according to global settings - -if(QUASSEL_ICONS MATCHES "External") - install(DIRECTORY hicolor DESTINATION ${ICON_INSTALL_DIR}) -else(QUASSEL_ICONS MATCHES "External") - set(CLIENT_DEPS ${CLIENT_DEPS} hicolor.qrc) -endif(QUASSEL_ICONS MATCHES "External") - -if(OXYGEN_ICONS MATCHES "External") - install(DIRECTORY oxygen DESTINATION ${ICON_INSTALL_DIR}) -else(OXYGEN_ICONS MATCHES "External") - set(CLIENT_DEPS ${CLIENT_DEPS} oxygen.qrc) -endif(OXYGEN_ICONS MATCHES "External") +# 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) + + if (EMBED_DATA) + # Always embed quassel-specific icons + message(STATUS "Embedding Quassel-specific icons") + list(APPEND ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/breeze_icons.qrc) + list(APPEND ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/breeze_dark_icons.qrc) + if (WITH_OXYGEN_ICONS) + list(APPEND ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/oxygen_icons.qrc) + endif() + + if (WITH_BUNDLED_ICONS) + message(STATUS "Embedding bundled Breeze icon theme") + list(APPEND ICON_RCS ${BUNDLED_ICON_THEME_DIR}/breeze_icon_theme.qrc) + list(APPEND ICON_RCS ${BUNDLED_ICON_THEME_DIR}/breeze_dark_icon_theme.qrc) + if (WITH_OXYGEN_ICONS) + message(STATUS "Embedding bundled Oxygen icon theme") + list(APPEND ICON_RCS ${BUNDLED_ICON_THEME_DIR}/oxygen_icon_theme.qrc) + endif() + endif() + + 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() + + set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE) + + # 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}) + + # 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()