diff --git a/doc/cmake.dox b/doc/cmake.dox
index 732ee5a87..7f37cb00b 100644
--- a/doc/cmake.dox
+++ b/doc/cmake.dox
@@ -175,11 +175,14 @@ dependencies, you need to find the dependency and then link to it.
Lastly, a few utility executables are available:
-- `distancefieldconverter` --- @ref magnum-distancefieldconverter executable
-- `fontconverter` --- @ref magnum-fontconverter executable
-- `imageconverter` --- @ref magnum-imageconverter executable
-- `gl-info` --- @ref magnum-gl-info executable
-- `al-info` --- @ref magnum-al-info executable
+- `distancefieldconverter` --- @ref magnum-distancefieldconverter "magnum-distancefieldconverter"
+ executable
+- `fontconverter` --- @ref magnum-fontconverter "magnum-fontconverter"
+ executable
+- `imageconverter` --- @ref magnum-imageconverter "magnum-imageconverter"
+ executable
+- `gl-info` --- @ref magnum-gl-info "magnum-gl-info" executable
+- `al-info` --- @ref magnum-al-info "magnum-al-info" executable
Note that [each namespace](namespaces.html), all @ref Platform libraries and
each plugin class contain more detailed information about dependencies,
diff --git a/doc/namespaces.dox b/doc/namespaces.dox
index bf8056801..0161ff7a2 100644
--- a/doc/namespaces.dox
+++ b/doc/namespaces.dox
@@ -67,7 +67,8 @@ find_package(Magnum REQUIRED Sdl2Application)
target_link_libraries(your-app Magnum::Application)
@endcode
-See documentation of particular `*Application` classs, @ref building,
+See documentation of particular `*Application` classs, the
+@ref magnum-gl-info "magnum-gl-info" utility documentation, @ref building,
@ref cmake and @ref platform for more information.
*/
@@ -210,10 +211,9 @@ find_package(Magnum REQUIRED Audio)
target_link_libraries(your-app Magnum::Audio)
@endcode
-See @ref building and @ref cmake for more information.
-
-Additional plugins are built separately, see particular `Audio::*Importer`
-class documentation, @ref building, @ref building-plugins, @ref cmake,
+Additional plugins and utilities are built separately. See particular
+`Audio::*Importer` class documentation, the @ref magnum-al-info "magnum-al-info"
+utility documentation, @ref building, @ref building-plugins, @ref cmake,
@ref cmake-plugins and @ref plugins for more information.
*/
@@ -396,11 +396,11 @@ find_package(Magnum REQUIRED Text)
target_link_libraries(your-app Magnum::Text)
@endcode
-See @ref building and @ref cmake for more information.
-
-Additional plugins are built separately, see particular `*Font` and
-`*FontConverter` class documentation, @ref building, @ref building-plugins,
-@ref cmake, @ref cmake-plugins and @ref plugins for more information.
+Additional plugins and utilities are built separately. See particular `*Font`
+and `*FontConverter` class documentation, the
+@ref magnum-fontconverter "magnum-fontconverter" utility documentation,
+@ref building, @ref building-plugins, @ref cmake, @ref cmake-plugins and
+@ref plugins for more information.
*/
/** @dir Magnum/TextureTools
@@ -427,7 +427,9 @@ Note that functionality depending on @ref GL APIs is available only if Magnum
is built with both `WITH_GL` and `TARGET_GL` enabled (which is done by
default).
-See @ref building and @ref cmake for more information.
+Additional utilities are built separately. See the
+@ref magnum-distancefieldconverter "magnum-distancefieldconverter" utility
+documentation, @ref building and @ref cmake for more information.
*/
/** @dir Magnum/Trade
@@ -450,12 +452,11 @@ find_package(Magnum REQUIRED Trade)
target_link_libraries(your-app Magnum::Trade)
@endcode
-See @ref building and @ref cmake for more information.
-
-Additional plugins are built separately, see particular `Trade::*Importer` and
-`*ImageConverter` class documentation, @ref building, @ref building-plugins,
-@ref cmake, @ref cmake-plugins and @ref plugins for more
-information.
+Additional plugins and utilities are built separately. See particular
+`Trade::*Importer` and `*ImageConverter` class documentation, the
+@ref magnum-imageconverter "magnum-imageconverter" utility documentation,
+@ref building, @ref building-plugins, @ref cmake, @ref cmake-plugins and
+@ref plugins for more information.
*/
/** @dir Magnum/Vk
diff --git a/doc/utilities.dox b/doc/utilities.dox
index ae5664683..3bf4fde16 100644
--- a/doc/utilities.dox
+++ b/doc/utilities.dox
@@ -25,13 +25,19 @@
namespace Magnum {
/** @page utilities Utilities
-@brief Command-line utilities for system information and data conversion
+@brief Utilities for system information, data conversion, multimedia apps
-- @subpage magnum-gl-info --- @copybrief magnum-gl-info
-- @subpage magnum-al-info --- @copybrief magnum-al-info
+The following command-line utilities are available:
+
+- @subpage magnum-gl-info @m_class{m-label m-default m-flat} **live web demo** --- @copybrief magnum-gl-info
+- @subpage magnum-al-info @m_class{m-label m-default m-flat} **live web demo** --- @copybrief magnum-al-info
- @subpage magnum-distancefieldconverter --- @copybrief magnum-distancefieldconverter
- @subpage magnum-fontconverter --- @copybrief magnum-fontconverter
- @subpage magnum-imageconverter --- @copybrief magnum-imageconverter
+The following graphical apps are available:
+
+- @subpage magnum-ui-gallery @m_class{m-label m-default m-flat} **live web demo** --- @copybrief magnum-ui-gallery
+
*/
}
diff --git a/src/Magnum/Audio/al-info.cpp b/src/Magnum/Audio/al-info.cpp
index 2c8c0c687..459319b1f 100644
--- a/src/Magnum/Audio/al-info.cpp
+++ b/src/Magnum/Audio/al-info.cpp
@@ -36,6 +36,18 @@ namespace Magnum {
@m_div{m-button m-primary} @m_div{m-big}Live web version @m_enddiv @m_div{m-small} uses WebAssembly & WebAudio @m_enddiv @m_enddiv
+This utility depends on the [OpenAL](https://www.openal.org/) library. It is
+built if both `WITH_AUDIO` and `WITH_AL_INFO` is enabled when building Magnum.
+To use this utility with CMake, you need to request the `al-info` component of
+the `Magnum` package and use the `Magnum::al-info` target for example in a
+custom command:
+
+@code{.cmake}
+find_package(Magnum REQUIRED al-info)
+
+add_custom_command(OUTPUT ... COMMAND Magnum::al-info ...)
+@endcode
+
@section magnum-al-info-usage Usage
@code{.sh}
diff --git a/src/Magnum/Platform/gl-info.cpp b/src/Magnum/Platform/gl-info.cpp
index 75308ad6c..d96e1cd0d 100644
--- a/src/Magnum/Platform/gl-info.cpp
+++ b/src/Magnum/Platform/gl-info.cpp
@@ -87,6 +87,17 @@ namespace Magnum {
@m_div{m-button m-primary} @m_div{m-big}Live web version @m_enddiv @m_div{m-small} uses WebAssembly & WebGL @m_enddiv @m_enddiv
+This utility is built if both `WITH_GL` and `WITH_GL_INFO` is enabled when
+building Magnum. To use this utility with CMake, you need to request the
+`gl-info` component of the `Magnum` package and use the `Magnum::gl-info`
+target for example in a custom command:
+
+@code{.cmake}
+find_package(Magnum REQUIRED gl-info)
+
+add_custom_command(OUTPUT ... COMMAND Magnum::gl-info ...)
+@endcode
+
@section magnum-gl-info-usage Usage
@code{.sh}
diff --git a/src/Magnum/Text/fontconverter.cpp b/src/Magnum/Text/fontconverter.cpp
index 35fe89703..a1eb57efe 100644
--- a/src/Magnum/Text/fontconverter.cpp
+++ b/src/Magnum/Text/fontconverter.cpp
@@ -62,6 +62,17 @@ namespace Magnum {
@m_footernavigation
+This utility is built if both `WITH_TEXT` and `WITH_FONTCONVERTER` is enabled
+when building Magnum. To use this utility with CMake, you need to request the
+`fontconverter` component of the `Magnum` package and use the
+`Magnum::fontconverter` target for example in a custom command:
+
+@code{.cmake}
+find_package(Magnum REQUIRED fontconverter)
+
+add_custom_command(OUTPUT ... COMMAND Magnum::fontconverter ...)
+@endcode
+
@section magnum-fontconverter-usage Usage
@code{.sh}
diff --git a/src/Magnum/TextureTools/distancefieldconverter.cpp b/src/Magnum/TextureTools/distancefieldconverter.cpp
index a08a38a54..8fcf1557b 100644
--- a/src/Magnum/TextureTools/distancefieldconverter.cpp
+++ b/src/Magnum/TextureTools/distancefieldconverter.cpp
@@ -67,6 +67,18 @@ namespace Magnum {
@m_footernavigation
+This utility is built if both `WITH_TEXTURETOOLS` and
+`WITH_DISTANCEFIELDCONVERTER` is enabled when building Magnum. To use this
+utility with CMake, you need to request the `distancefieldconverter` component
+of the `Magnum` package and use the `Magnum::distancefieldconverter` target for
+example in a custom command:
+
+@code{.cmake}
+find_package(Magnum REQUIRED distancefieldconverter)
+
+add_custom_command(OUTPUT ... COMMAND Magnum::distancefieldconverter ...)
+@endcode
+
@section magnum-distancefieldconverter-usage Usage
@code{.sh}
diff --git a/src/Magnum/Trade/imageconverter.cpp b/src/Magnum/Trade/imageconverter.cpp
index bd1b2944a..b98bad3e0 100644
--- a/src/Magnum/Trade/imageconverter.cpp
+++ b/src/Magnum/Trade/imageconverter.cpp
@@ -39,6 +39,17 @@ namespace Magnum {
@m_footernavigation
+This utility is built if both `WITH_TRADE` and `WITH_IMAGECONVERTER` is enabled
+when building Magnum. To use this utility with CMake, you need to request the
+`imageconverter` component of the `Magnum` package and use the
+`Magnum::imageconverter` target for example in a custom command:
+
+@code{.cmake}
+find_package(Magnum REQUIRED imageconverter)
+
+add_custom_command(OUTPUT ... COMMAND Magnum::imageconverter ...)
+@endcode
+
@section magnum-imageconverter-usage Usage
@code{.sh}