AudioThumbnailBase compile failure with pure CMake

I’ve been having success building out a pure CMake GUI app using the JUCE’s CMake setup instructions… until I tried to use AudioThumbnail.

For instance, these compile and build fine:

#include <juce_audio_formats/juce_audio_formats.h>
#include <juce_audio_devices/juce_audio_devices.h>

#include <juce_gui_extra/juce_gui_extra.h>
#include <juce_audio_utils/gui/juce_AudioAppComponent.h>

But as soon as I add these:

#include <juce_audio_utils/gui/juce_AudioThumbnail.h>
#include <juce_audio_utils/gui/juce_AudioThumbnailCache.h>

and declare them:
juce::AudioThumbnailCache thumbnailCache;
juce::AudioThumbnail thumbnail;

I get this compile error, followed by a series of follow-on cascade errors for AudioThumbnail and AudioThumbnailBase:

<path-to>/JUCE/include/JUCE-6.0.1/modules/juce_audio_utils/gui/juce_AudioThumbnail.h:50:44: error: 
      unknown class name 'AudioThumbnailBase'; did you mean 'AudioThumbnail'?
class JUCE_API  AudioThumbnail    : public AudioThumbnailBase
                                           ^~~~~~~~~~~~~~~~~~
                                           AudioThumbnail

FWIW, CLion’s code navigation can find juce_AudioThumbnailCache.h and I can see the file in <path-to>/JUCE/include/JUCE-6.0.1/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h

I have rebuilt the JUCE lib and my app multiple times, and I’m stumped how to diagnose this kind of problem where some of the lib files are not available. Is this an optional class in the JUCE distribution; is there an additional build flags I have to use when I’m building the JUCE lib?

For the most part, JUCE code should only be included via ‘module headers’. In this case, that would mean including just <juce_audio_utils/juce_audio_utils.h>.

That did it. Thanks for the quick help!