diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
index 1f827d46b113799c5d5a6705662fae2384e6ef8a..d22871b31359e4a9ba56a22144461465c660e79b 100644
--- a/libraries/CMakeLists.txt
+++ b/libraries/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A directory containing library targets
+]]
+
 # Include the libraries that we'll build
 
 # The list of modules is ordered so that each library occurs after any others
diff --git a/libraries/image-compiler/CMakeLists.txt b/libraries/image-compiler/CMakeLists.txt
index a91007c959ed2437271de01506074f799e98e1d3..14931d105efd33879d56a3ff4f6eaba493c77bee 100644
--- a/libraries/image-compiler/CMakeLists.txt
+++ b/libraries/image-compiler/CMakeLists.txt
@@ -2,7 +2,7 @@
 A small program that is run at build time of the application.  For each built-in
 theme it generates a header file from image files.  The images are part of the
 source code tree but not deployed with the program.
-]]#
+]]
 
 if( NOT IMAGE_COMPILER_EXECUTABLE )
    add_executable( image-compiler imageCompilerMain.cpp )
diff --git a/libraries/lib-audio-devices/CMakeLists.txt b/libraries/lib-audio-devices/CMakeLists.txt
index 997ffc61b37e83f174e4d2c930126376ed906d7b..b4f161ab34112cc944b7b364fce398981e53662e 100644
--- a/libraries/lib-audio-devices/CMakeLists.txt
+++ b/libraries/lib-audio-devices/CMakeLists.txt
@@ -8,7 +8,7 @@ Also abstract class Meter for communicating buffers of samples for display
 purposes.
 
 Does not contain an audio engine.
-]]#
+]]
 
 set( SOURCES
    AudioIOBase.cpp
diff --git a/libraries/lib-audio-unit/CMakeLists.txt b/libraries/lib-audio-unit/CMakeLists.txt
index 4a5bdac9c52502f0e84819f0c60a0e5cb383f3f8..1e3dad538b0aaf44b4fbd69dcd304392250683e8 100644
--- a/libraries/lib-audio-unit/CMakeLists.txt
+++ b/libraries/lib-audio-unit/CMakeLists.txt
@@ -1,6 +1,6 @@
 #[[
 AudioUnit effect processing logic, minus user interface
-]]#
+]]
 
 if (USE_AUDIO_UNITS)
 
diff --git a/libraries/lib-basic-ui/CMakeLists.txt b/libraries/lib-basic-ui/CMakeLists.txt
index 22e7487b5cc6b9c901017045b65d0ca2a36650f7..f94c422ab53dd11849b54725903cb5774c821fa4 100644
--- a/libraries/lib-basic-ui/CMakeLists.txt
+++ b/libraries/lib-basic-ui/CMakeLists.txt
@@ -11,7 +11,7 @@ There is a global pointer to an instance of Services, and the main program is
 expected, at startup, to create a static instance of a subclass of Services and
 set the pointer.  If it does not, then calls to the non-member functions in
 namespace BasicUI are no-ops.
-]]#
+]]
 
 set( SOURCES
    BasicUI.cpp
diff --git a/libraries/lib-breakpad-configurer/CMakeLists.txt b/libraries/lib-breakpad-configurer/CMakeLists.txt
index 4b853b2794f9e7dccb9ddc55ec3554abacc4361f..e299496e26c0c6904465e2450f4894beec9fffff 100644
--- a/libraries/lib-breakpad-configurer/CMakeLists.txt
+++ b/libraries/lib-breakpad-configurer/CMakeLists.txt
@@ -1,5 +1,7 @@
-# This module provides an interface to configure and start Breakpad handler 
-# in a platform independent way.
+#[[
+This library provides an interface to configure and start Breakpad handler 
+in a platform independent way.
+]]
 
 set(SOURCES 
    BreakpadConfigurer.h
diff --git a/libraries/lib-crashpad-configurer/CMakeLists.txt b/libraries/lib-crashpad-configurer/CMakeLists.txt
index 818de89b254a8e9c2acad7c81b4789db62d2a37d..7bb57e6adc06467d59317373a1797a1e78ead963 100644
--- a/libraries/lib-crashpad-configurer/CMakeLists.txt
+++ b/libraries/lib-crashpad-configurer/CMakeLists.txt
@@ -1,5 +1,7 @@
-# This module provides an interface to configure and start Crashpad handler 
-# in a platform independent way.
+#[[
+This library provides an interface to configure and start Crashpad handler 
+in a platform independent way.
+]]
 
 set(SOURCES 
    CrashpadConfigurer.h
diff --git a/libraries/lib-crypto/tests/CMakeLists.txt b/libraries/lib-crypto/tests/CMakeLists.txt
index cc46b7d798f479fa9eb4f37deeaa5e9cc45917f8..7eaa22fe284ca8353b77c645d8241ba24313fe6e 100644
--- a/libraries/lib-crypto/tests/CMakeLists.txt
+++ b/libraries/lib-crypto/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-crypto
+]]
+
 add_unit_test(
    NAME
       lib-crypto
diff --git a/libraries/lib-exceptions/CMakeLists.txt b/libraries/lib-exceptions/CMakeLists.txt
index 64a74b3bd2343d699cb97b15f0de6389e20c7c2d..e8d5bd059c9175aebfdaaf60a6714992f2fd200a 100644
--- a/libraries/lib-exceptions/CMakeLists.txt
+++ b/libraries/lib-exceptions/CMakeLists.txt
@@ -13,7 +13,7 @@ enqueues the delayed action.
 But this library does NOT define a top-level handler for the whole application,
 to catch all otherwise uncaught exceptions. That is a responsibility of high
 level code.
-]]#
+]]
 
 set( SOURCES
    AudacityException.cpp
diff --git a/libraries/lib-fft/CMakeLists.txt b/libraries/lib-fft/CMakeLists.txt
index 72404e77735d254e2981a7420f19cbd5db235f10..d08a220a339991d4a7874d0dcfe5e9bf1ac382ea 100644
--- a/libraries/lib-fft/CMakeLists.txt
+++ b/libraries/lib-fft/CMakeLists.txt
@@ -4,7 +4,7 @@ A library for fast fourier transforms
 
 Note -- this cannot be combined with lib-math, which depends on libsoxr, which
 includes a different version of pffft.h
-]]#
+]]
 
 set( SOURCES
    FFT.cpp
diff --git a/libraries/lib-files/CMakeLists.txt b/libraries/lib-files/CMakeLists.txt
index bdb9f27f67a06a04d7a11a23d81557a3f000ecd2..421540207965c142de0215f4de0322c8ddb723eb 100644
--- a/libraries/lib-files/CMakeLists.txt
+++ b/libraries/lib-files/CMakeLists.txt
@@ -6,7 +6,7 @@ Also the definition of certain significant file paths, such as the directory
 for temporary projects.
 
 Also the global logger which can save to a file.
-]]#
+]]
 
 set( SOURCES
    AudacityLogger.cpp
diff --git a/libraries/lib-graphics/CMakeLists.txt b/libraries/lib-graphics/CMakeLists.txt
index 7c71da4bcbf04cd34c393e51d3e5c23513ae65e1..a7cfbddb09e6860a4e4520c767788f3ef0a9343e 100644
--- a/libraries/lib-graphics/CMakeLists.txt
+++ b/libraries/lib-graphics/CMakeLists.txt
@@ -1,6 +1,6 @@
 #[[
 A library responsible for custom rendering in Audacity
-]]#
+]]
 
 set( SOURCES
    FrameStatistics.cpp
diff --git a/libraries/lib-import-export/riff-test-util/CMakeLists.txt b/libraries/lib-import-export/riff-test-util/CMakeLists.txt
index 5939843feb2514866871af2ec7c09325f62e0e76..1e40c71b396c8d21d18524c0efb4a0f43d34bdbd 100644
--- a/libraries/lib-import-export/riff-test-util/CMakeLists.txt
+++ b/libraries/lib-import-export/riff-test-util/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A command line testing program for tempo metadata in files
+]]
+
 add_executable(riff-test-util
    RiffTestUtil.cpp
 )
diff --git a/libraries/lib-import-export/tests/CMakeLists.txt b/libraries/lib-import-export/tests/CMakeLists.txt
index 8d82fb6466dad69b4545609476936b2412f1c66c..6202f592b805e85096061a66ab52421c8b68ecea 100644
--- a/libraries/lib-import-export/tests/CMakeLists.txt
+++ b/libraries/lib-import-export/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-import-export
+]]
+
 add_unit_test(
    NAME
       lib-import-export
diff --git a/libraries/lib-math/CMakeLists.txt b/libraries/lib-math/CMakeLists.txt
index 102ec0437f0bdfb30bf4864e4b899dcea17d0308..19637c5972bf4fee40ffee346fcf438f50c2ea68 100644
--- a/libraries/lib-math/CMakeLists.txt
+++ b/libraries/lib-math/CMakeLists.txt
@@ -1,6 +1,6 @@
 #[[
 A library of mathematical utilities and manipulation of samples
-]]#
+]]
 
 addlib( libsoxr            soxr        SOXR        YES   YES   "soxr >= 0.1.1" )
 
diff --git a/libraries/lib-math/tests/CMakeLists.txt b/libraries/lib-math/tests/CMakeLists.txt
index 944cd83fe103a54a0e88f00c31a9056f7f23a849..8664d2e7b6077e6eede07481c3b8a6b525e98745 100644
--- a/libraries/lib-math/tests/CMakeLists.txt
+++ b/libraries/lib-math/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-math
+]]
+
 add_unit_test(
    NAME
       lib-math
diff --git a/libraries/lib-module-manager/CMakeLists.txt b/libraries/lib-module-manager/CMakeLists.txt
index ced0a1781ea8de78a8fab649e3aca91d382cbd22..10c723213c30d9c20e74f5b1180039f1e3de6905 100644
--- a/libraries/lib-module-manager/CMakeLists.txt
+++ b/libraries/lib-module-manager/CMakeLists.txt
@@ -5,6 +5,7 @@ effect, generator, and analyzer plug-ins.
 Maintains persistent data in the configuration file for enablement of modules
 and plug-ins, and preferred settings.
 ]]
+
 set( SOURCES
    AsyncPluginValidator.cpp
    AsyncPluginValidator.h
diff --git a/libraries/lib-music-information-retrieval/tests/CMakeLists.txt b/libraries/lib-music-information-retrieval/tests/CMakeLists.txt
index 36bc8a21cf2b005116758e90f51d4ccbe108e2c4..48df27a34c8d412fed0a59bacb9d13af8c0f7612 100644
--- a/libraries/lib-music-information-retrieval/tests/CMakeLists.txt
+++ b/libraries/lib-music-information-retrieval/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-music-information-retrieval
+]]
+
 add_compile_definitions(
    CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
 )
diff --git a/libraries/lib-network-manager/CMakeLists.txt b/libraries/lib-network-manager/CMakeLists.txt
index 161e35a38dbca0ce61273d1a6f3f28c533242a98..9f427ad1affba6a1caaf99dba05d7411a21dab47 100644
--- a/libraries/lib-network-manager/CMakeLists.txt
+++ b/libraries/lib-network-manager/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Asynchronously send and receive requests and responses over internet
+]]
+
 set(TARGET lib-network-manager)
 set( TARGET_ROOT ${CMAKE_CURRENT_SOURCE_DIR} )
 
diff --git a/libraries/lib-numeric-formats/tests/CMakeLists.txt b/libraries/lib-numeric-formats/tests/CMakeLists.txt
index 5f1294f88c6a754b6126a2c5cf88b76fc3bafa88..f6b48a97319cef0e5585cf2a3502f6ae7e0ade62 100644
--- a/libraries/lib-numeric-formats/tests/CMakeLists.txt
+++ b/libraries/lib-numeric-formats/tests/CMakeLists.txt
@@ -1,4 +1,7 @@
 #  SPDX-License-Identifier: GPL-2.0-or-later
+#[[
+Unit tests for lib-numeric-formats
+]]
 
 add_unit_test(
    NAME
diff --git a/libraries/lib-preferences/CMakeLists.txt b/libraries/lib-preferences/CMakeLists.txt
index e7fa0856e36120660377bb58a044d099e86d1588..bf5bc90b081013bed915e74640d0adab34f27f6e 100644
--- a/libraries/lib-preferences/CMakeLists.txt
+++ b/libraries/lib-preferences/CMakeLists.txt
@@ -12,7 +12,7 @@ PreferenceInitializer is a callback for the reinitialization of preferences.
 
 FileConfig decorates wxFileConfig, with a member function to
 alert the user of failure to initialize it (as when the file is read-only).
-]]#
+]]
 
 set( SOURCES
    BasicSettings.cpp
diff --git a/libraries/lib-preferences/tests/CMakeLists.txt b/libraries/lib-preferences/tests/CMakeLists.txt
index 0d71e51eaf0e9c76f1211d29da977498d6ae2563..45e793f987a7355eea46d80a8dce49c3e5bb83d5 100644
--- a/libraries/lib-preferences/tests/CMakeLists.txt
+++ b/libraries/lib-preferences/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-preferences
+]]
+
 add_unit_test(
    NAME
       lib-preferences
@@ -8,4 +12,4 @@ add_unit_test(
    LIBRARIES
       lib-preferences
       lib-wx-init
-)
\ No newline at end of file
+)
diff --git a/libraries/lib-project-history/CMakeLists.txt b/libraries/lib-project-history/CMakeLists.txt
index a458d23e94bf22f4286db56d08612db3369a383c..90825063385700466b96c5deb41eda7d7a51b3d6 100644
--- a/libraries/lib-project-history/CMakeLists.txt
+++ b/libraries/lib-project-history/CMakeLists.txt
@@ -2,6 +2,7 @@
 Management of undo and redo history of the project, stored as states, not
 deltas.  There is not yet persistency of undo history across sessions.
 ]]
+
 set( SOURCES
    ProjectHistory.cpp
    ProjectHistory.h
diff --git a/libraries/lib-project/CMakeLists.txt b/libraries/lib-project/CMakeLists.txt
index 778750ead07e6f50b4704247d7bebe0f01164759..e1d1e04e6aa9913b47dc7dadc711d2443d243673 100644
--- a/libraries/lib-project/CMakeLists.txt
+++ b/libraries/lib-project/CMakeLists.txt
@@ -7,7 +7,7 @@ Also a global array of existing projects.
 
 Also ProjectStatus, an abstraction of the status bar, just holding some strings
 and formatter functions, and emitting events when changed.
-]]#
+]]
 
 set( SOURCES
    Project.cpp
diff --git a/libraries/lib-registries/CMakeLists.txt b/libraries/lib-registries/CMakeLists.txt
index 2d985918dd54fa484c02b12f4981518e101f8805..c57788ff8f681fecdfe31c95eb2850bc961a33b5 100644
--- a/libraries/lib-registries/CMakeLists.txt
+++ b/libraries/lib-registries/CMakeLists.txt
@@ -25,7 +25,7 @@ Registry implements trees of objects identified by textual paths, and allows
 scattered code to insert items or subtrees at specified paths.  Registry
 computes the merging of trees, and supports visitation.  It is used notably
 by the tree of menus, allowing insertion of menu items in decoupled code.
-]]#
+]]
 
 set( SOURCES
    AttachedVirtualFunction.h
diff --git a/libraries/lib-screen-geometry/CMakeLists.txt b/libraries/lib-screen-geometry/CMakeLists.txt
index 5765183fb5b822b19a4e86751ac3a38a8bf884cd..77be24bab99016a66959a0913bd783d803ce017e 100644
--- a/libraries/lib-screen-geometry/CMakeLists.txt
+++ b/libraries/lib-screen-geometry/CMakeLists.txt
@@ -1,7 +1,7 @@
 #[[
 Classes relating to the mappings between x or y coordinates of the screen, and
 times, or frequencies, or amplitudes.
-]]#
+]]
 
 set( SOURCES
    NumberScale.h
diff --git a/libraries/lib-sentry-reporting/CMakeLists.txt b/libraries/lib-sentry-reporting/CMakeLists.txt
index 0d97c9f20e6f0706276f6e83732b29363e440e06..b9b407c028f5aac7105ec68db601599e47c975f4 100644
--- a/libraries/lib-sentry-reporting/CMakeLists.txt
+++ b/libraries/lib-sentry-reporting/CMakeLists.txt
@@ -1,7 +1,7 @@
 #[[
 A library, that allows sending error reports to a Sentry server
 using Exception and Message interfaces.
-]]#
+]]
 
 set( TARGET lib-sentry-reporting )
 set( TARGET_ROOT ${CMAKE_CURRENT_SOURCE_DIR} )
diff --git a/libraries/lib-snapping/CMakeLists.txt b/libraries/lib-snapping/CMakeLists.txt
index a68ab4000584cd4ff4926ccbf4c67032eb06f8b0..fc089c9446ea91fae73b43e0524f2ffe1cc6c457 100644
--- a/libraries/lib-snapping/CMakeLists.txt
+++ b/libraries/lib-snapping/CMakeLists.txt
@@ -8,6 +8,7 @@ This library:
 3. Provides a project extension that is responsible for snapping
 
 ]]
+
 set(TARGET lib-snapping)
 set(TARGET_ROOT ${CMAKE_CURRENT_SOURCE_DIR} )
 
diff --git a/libraries/lib-snapping/tests/CMakeLists.txt b/libraries/lib-snapping/tests/CMakeLists.txt
index 947269ef39ebcbb20c5b4120b80d7c027804d548..2449dc5cbbabe744fac3058ae9c188266d942754 100644
--- a/libraries/lib-snapping/tests/CMakeLists.txt
+++ b/libraries/lib-snapping/tests/CMakeLists.txt
@@ -1,4 +1,7 @@
 #  SPDX-License-Identifier: GPL-2.0-or-later
+#[[
+Unit tests for lib-snapping
+]]
 
 add_unit_test(
    NAME
diff --git a/libraries/lib-sqlite-helpers/tests/CMakeLists.txt b/libraries/lib-sqlite-helpers/tests/CMakeLists.txt
index ffa7784fd08d5d670fe43f7d5f67262c0ddae5df..7261bc6bb872caed5e3795d901be1ae04fbdaf0e 100644
--- a/libraries/lib-sqlite-helpers/tests/CMakeLists.txt
+++ b/libraries/lib-sqlite-helpers/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-sqlite
+]]
+
 add_unit_test(
    NAME
       lib-sqlite-helpers
diff --git a/libraries/lib-stretching-sequence/CMakeLists.txt b/libraries/lib-stretching-sequence/CMakeLists.txt
index 6c7a39ff31cabebe6c31a2d1ce09e50b61176d99..da4ff6fda3ecef98a896cdebf4620d9e21ee44bc 100644
--- a/libraries/lib-stretching-sequence/CMakeLists.txt
+++ b/libraries/lib-stretching-sequence/CMakeLists.txt
@@ -1,8 +1,11 @@
 #[[
-A library providing a time-stretching-capable implementation of `PlayableSequence`.
+A library providing a time-stretching-capable implementation of
+`PlayableSequence`.
 
-Please refer to this directory's readme for a presentation of the constraints inherent to such an implementation.
+Please refer to this directory's readme for a presentation of the constraints
+inherent to such an implementation.
 ]]
+
 set( SOURCES
    AudioSegment.cpp
    AudioSegment.h
diff --git a/libraries/lib-stretching-sequence/tests/CMakeLists.txt b/libraries/lib-stretching-sequence/tests/CMakeLists.txt
index 438354736ab22f7b8300785872b57983138b9801..1e1015c84ef07b72f53075a2a359da07d134f4ae 100644
--- a/libraries/lib-stretching-sequence/tests/CMakeLists.txt
+++ b/libraries/lib-stretching-sequence/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-stretching-sequence
+]]
+
 add_compile_definitions(CMAKE_SOURCE_DIR="${CMAKE_SOURCE_DIR}")
 
 add_unit_test(
diff --git a/libraries/lib-string-utils/CMakeLists.txt b/libraries/lib-string-utils/CMakeLists.txt
index 62d426ae9c8a2e98063d34cf56651e50da9a394d..8ba0afa60eb35d762ec6f9dbea3a8de5064d1197 100644
--- a/libraries/lib-string-utils/CMakeLists.txt
+++ b/libraries/lib-string-utils/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+String encoding and formatting utilities
+]]
+
 set(TARGET lib-string-utils)
 set(TARGET_ROOT ${CMAKE_CURRENT_SOURCE_DIR} )
 
diff --git a/libraries/lib-string-utils/tests/CMakeLists.txt b/libraries/lib-string-utils/tests/CMakeLists.txt
index 499ea33b8cad6c58884bada9de4fdcdd2d916b84..906c2ccf69d208a16e8c177a2bc9e869e931b5ff 100644
--- a/libraries/lib-string-utils/tests/CMakeLists.txt
+++ b/libraries/lib-string-utils/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-string-utils
+]]
+
 add_unit_test(
    NAME
       lib-string-utils
diff --git a/libraries/lib-strings/CMakeLists.txt b/libraries/lib-strings/CMakeLists.txt
index b8cf75d29bf5f1a3edda44dfef080c043728f825..69593b7a7e776cb6086f015393a8cc154a47e512 100644
--- a/libraries/lib-strings/CMakeLists.txt
+++ b/libraries/lib-strings/CMakeLists.txt
@@ -11,7 +11,7 @@ even if the global choice of locale changes during its lifetime.  It does not
 implicitly interconvert with wxString.
 
 This library depends only on the wxBase subset of wxWidgets.
-]]#
+]]
 
 set( SOURCES
    Base64.h
diff --git a/libraries/lib-theme/CMakeLists.txt b/libraries/lib-theme/CMakeLists.txt
index e43c09ed14ea15163eea5d3dba926c00620e56c4..021d96e6b63e279a8344e33178272285afcee096 100644
--- a/libraries/lib-theme/CMakeLists.txt
+++ b/libraries/lib-theme/CMakeLists.txt
@@ -1,7 +1,7 @@
 #[[
 A library to hold a registry of image and color identifiers, and multiple themes
 associating data with those identifiers.
-]]#
+]]
 
 set( SOURCES
    AColor.cpp
diff --git a/libraries/lib-time-and-pitch/tests/CMakeLists.txt b/libraries/lib-time-and-pitch/tests/CMakeLists.txt
index e0cc8fcd9f01fbb500eae7227d7c2e185b11a240..b3e98a101adcb2df4f9c82e9f15ef73da72d147e 100644
--- a/libraries/lib-time-and-pitch/tests/CMakeLists.txt
+++ b/libraries/lib-time-and-pitch/tests/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Unit tests for lib-time-and-pitch
+]]
+
 add_compile_definitions(CMAKE_SOURCE_DIR="${CMAKE_SOURCE_DIR}")
 
 add_unit_test(
diff --git a/libraries/lib-url-schemes/CMakeLists.txt b/libraries/lib-url-schemes/CMakeLists.txt
index d5ecb9ea7fc993e692fa7ecafc39086ec9c6fcd5..5a2ae0c645d8776826dd202a591e9b7159c58de3 100644
--- a/libraries/lib-url-schemes/CMakeLists.txt
+++ b/libraries/lib-url-schemes/CMakeLists.txt
@@ -2,6 +2,7 @@
 #[[
 Library, responsible for handling custom URL scemas.
 ]]
+
 set( SOURCES
    URLSchemesRegistry.cpp
    URLSchemesRegistry.h
diff --git a/libraries/lib-utility/CMakeLists.txt b/libraries/lib-utility/CMakeLists.txt
index 9c547e885accb68a4710518697b2fc682d0ed715..94c60c3d2f080edb584c3bd3366623e81633fb4d 100644
--- a/libraries/lib-utility/CMakeLists.txt
+++ b/libraries/lib-utility/CMakeLists.txt
@@ -12,8 +12,7 @@ did not yet provide std::make_unique.  That explains the name.
 Audacity now uses C++17, and yet, need arose for other anticipations of future
 standards.  It also provides other pervasively used utilities that don't
 correspond to things in the standard.
-
-]]#
+]]
 
 set( SOURCES
    AppEvents.cpp
diff --git a/libraries/lib-utility/tests/CMakeLists.txt b/libraries/lib-utility/tests/CMakeLists.txt
index fcf7f19c668bf8e88b802b6868fdd8b4a0c82fe5..7f3e96340c02299d7bb1530fb049f739b16d4613 100644
--- a/libraries/lib-utility/tests/CMakeLists.txt
+++ b/libraries/lib-utility/tests/CMakeLists.txt
@@ -1,4 +1,7 @@
 #  SPDX-License-Identifier: GPL-2.0-or-later
+#[[
+Unit tests for lib-utility
+]]
 
 add_unit_test(
    NAME
diff --git a/libraries/lib-uuid/CMakeLists.txt b/libraries/lib-uuid/CMakeLists.txt
index 85ffdaab12e552075075b84ef41ec8956f7418e6..4a42d5f2037f767a9ea8bf8c3b76cf0f87d36c34 100644
--- a/libraries/lib-uuid/CMakeLists.txt
+++ b/libraries/lib-uuid/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Generation of UUIDs
+]]
+
 set( TARGET lib-uuid )
 set( TARGET_ROOT ${CMAKE_CURRENT_SOURCE_DIR} )
 
diff --git a/libraries/lib-viewport/CMakeLists.txt b/libraries/lib-viewport/CMakeLists.txt
index 7e90f6899cfea57d4dc1d3cb340657d76a8bf5c8..707c3bf63d737ff53b64febc649964a3c0ed8202 100644
--- a/libraries/lib-viewport/CMakeLists.txt
+++ b/libraries/lib-viewport/CMakeLists.txt
@@ -2,6 +2,7 @@
 Viewport defines a callback facade for horizontal and vertical scrollbars, and
 provides methods to scroll and zoom the view of tracks.
 ]]
+
 set( SOURCES
    Viewport.cpp
    Viewport.h
diff --git a/libraries/lib-vst/CMakeLists.txt b/libraries/lib-vst/CMakeLists.txt
index 8fa10c4b6ecb5bd78b856ae35783d63a3e0ff2e3..6d556f2a6bf5b766a082fffe8d5fd12418dd4ac9 100644
--- a/libraries/lib-vst/CMakeLists.txt
+++ b/libraries/lib-vst/CMakeLists.txt
@@ -1,6 +1,6 @@
 #[[
 VST 2 effect plugin discovery and processing logic, without user interface
-]]#
+]]
 
 set( SOURCES
    VSTEffectBase.cpp
diff --git a/libraries/lib-wx-init/CMakeLists.txt b/libraries/lib-wx-init/CMakeLists.txt
index f27e9e397a19495ac5e72b0e63c3c7e69a63e534..4852e20942bf517b1e4aefd972341164994e2a94 100644
--- a/libraries/lib-wx-init/CMakeLists.txt
+++ b/libraries/lib-wx-init/CMakeLists.txt
@@ -1,7 +1,7 @@
 #[[
 Startup time injections of wxWidgets based implementations of services behind
 toolkit-neutral facades
-]]#
+]]
 
 set( SOURCES
    AccessibleLinksFormatter.cpp
diff --git a/libraries/lib-xml/CMakeLists.txt b/libraries/lib-xml/CMakeLists.txt
index d5120d0d3308ac02d48b7e841a40a8b2bf0fece2..ab260444e1ff303c89fb42b8d5bcd51224aca9dc 100644
--- a/libraries/lib-xml/CMakeLists.txt
+++ b/libraries/lib-xml/CMakeLists.txt
@@ -3,7 +3,7 @@ Utilities to serialize and deserialize trees of objects in XML form, and a
 class template XMLMethodRegistry to generate registries for serializable
 objects attached to a host object.  The template is parametrized by the host
 type.
-]]#
+]]
 
 set( SOURCES
    XMLAttributeValueView.cpp
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
index 3e55c2c0219acaad073fd42f9746292766cdfcca..ed9acdd0fce72cc949501cb656aefe488e2090b3 100644
--- a/modules/CMakeLists.txt
+++ b/modules/CMakeLists.txt
@@ -1,3 +1,9 @@
+#[[
+A directory of directories of module targets.  Sub-directories group modules in
+some common area of functionality, such as import/export, and each group becomes
+a cluster in the modules.dot file generated at configuration time.
+]]
+
 # Include the modules that we'll build
 
 # The list of module sub-folders is ordered so that each folder occurs after any
diff --git a/modules/etc/CMakeLists.txt b/modules/etc/CMakeLists.txt
index 89cfda5d54bc3321074053e1d30b335a44d20d94..77a5054eada7d5f8263c3b0e009d69c5a9ab6e95 100644
--- a/modules/etc/CMakeLists.txt
+++ b/modules/etc/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A subdirectory containing module targets
+]]
+
 # Include the modules that we'll build
 
 # The list of modules is ordered so that each module occurs after any others
diff --git a/modules/etc/mod-null/CMakeLists.txt b/modules/etc/mod-null/CMakeLists.txt
index d00e23288ac9e613ea751748e884dadeb484611a..b1ec2c2051b056b51f87ed9e1dcf8e56e57b0886 100644
--- a/modules/etc/mod-null/CMakeLists.txt
+++ b/modules/etc/mod-null/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A skeletal example module that does nothing
+]]
+
 set( TARGET mod-null )
 set( DEFINES
    PRIVATE
diff --git a/modules/import-export/CMakeLists.txt b/modules/import-export/CMakeLists.txt
index eae7ef4a7d315b13b3d948ab5c84f8358487d8d6..bbcff616f9346058e0434daf6e637deb07f63fbf 100644
--- a/modules/import-export/CMakeLists.txt
+++ b/modules/import-export/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A subdirectory containing module targets
+]]
+
 # Include the modules that we'll build
 
 # The list of modules is ordered so that each module occurs after any others
diff --git a/modules/import-export/mod-aup/CMakeLists.txt b/modules/import-export/mod-aup/CMakeLists.txt
index 455cdea7e4cdfa8df5739c56584bd9cf2b00d4df..067c9d962db5d6deae8d22a5214e4e74b40a6018 100644
--- a/modules/import-export/mod-aup/CMakeLists.txt
+++ b/modules/import-export/mod-aup/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Import of older Audacity project files, in .aup format, saved before version 3.0
+]]
+
 set( TARGET mod-aup )
 
 set( SOURCES
diff --git a/modules/import-export/mod-cl/CMakeLists.txt b/modules/import-export/mod-cl/CMakeLists.txt
index 3da967fd9cde7c46cc8e363e42d54361912897f8..740c6d9fd0af6c2f20a357d8ee2f5a12a5482be2 100644
--- a/modules/import-export/mod-cl/CMakeLists.txt
+++ b/modules/import-export/mod-cl/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Export of files with a command passed to a command-line shell
+]]
+
 set( TARGET mod-cl )
 
 set( SOURCES
diff --git a/modules/import-export/mod-ffmpeg/CMakeLists.txt b/modules/import-export/mod-ffmpeg/CMakeLists.txt
index 0bd9acbfa7c964df035071942052043177b32c87..8f6e39782dfd160e3aa4db37ffe904033cfccc5d 100644
--- a/modules/import-export/mod-ffmpeg/CMakeLists.txt
+++ b/modules/import-export/mod-ffmpeg/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+FFmpeg import and export
+]]
+
 set( TARGET mod-ffmpeg )
 
 add_subdirectory(lib-ffmpeg-support)
diff --git a/modules/import-export/mod-ffmpeg/lib-ffmpeg-support/CMakeLists.txt b/modules/import-export/mod-ffmpeg/lib-ffmpeg-support/CMakeLists.txt
index 3a3a0a20c31bfb6d548cf873b2bc93c44d57272f..a298b9c950e22b757e04231d4103d1d77d54fc5a 100644
--- a/modules/import-export/mod-ffmpeg/lib-ffmpeg-support/CMakeLists.txt
+++ b/modules/import-export/mod-ffmpeg/lib-ffmpeg-support/CMakeLists.txt
@@ -1,3 +1,6 @@
+#[[
+Various versions of FFmpeg and a facade to hide their binary incompatibilities
+]]
 
 if (${_OPT}use_ffmpeg)
    set( SOURCES
diff --git a/modules/import-export/mod-flac/CMakeLists.txt b/modules/import-export/mod-flac/CMakeLists.txt
index 72e998f4081c0ecdb6e48e7dd544c5a05d796f50..58da38ba035b9d815f29f9cce1449034dd929917 100644
--- a/modules/import-export/mod-flac/CMakeLists.txt
+++ b/modules/import-export/mod-flac/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+FLAC import and export
+]]
+
 set( TARGET mod-flac )
 
 set( SOURCES
diff --git a/modules/import-export/mod-lof/CMakeLists.txt b/modules/import-export/mod-lof/CMakeLists.txt
index 7a7a601934657f1a0fcc0f4227e9f3e3750c7aed..cc5bc9c93cb6efa58877d063ecbdb759514dfc71 100644
--- a/modules/import-export/mod-lof/CMakeLists.txt
+++ b/modules/import-export/mod-lof/CMakeLists.txt
@@ -1,3 +1,8 @@
+#[[
+Interpret .lof (list-of-files) format, a simple language that can name other
+files to import and then time-shift
+]]
+
 set( TARGET mod-lof )
 
 set( SOURCES
diff --git a/modules/import-export/mod-mp2/CMakeLists.txt b/modules/import-export/mod-mp2/CMakeLists.txt
index ec904b88e4aea5df2835d86c4ab1cf0df61e73ed..8a27c5b91ce602ccdf9e1a6817d8dbc89e27637e 100644
--- a/modules/import-export/mod-mp2/CMakeLists.txt
+++ b/modules/import-export/mod-mp2/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+MP2 export
+]]
+
 set( TARGET mod-mp2 )
 
 set( SOURCES
diff --git a/modules/import-export/mod-mp3/CMakeLists.txt b/modules/import-export/mod-mp3/CMakeLists.txt
index de2d789ab0450d66d0e8299f80f22460ee2b7485..9ba97a2fa9c9fb15e229480fe6376f7f5a8fa439 100644
--- a/modules/import-export/mod-mp3/CMakeLists.txt
+++ b/modules/import-export/mod-mp3/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+MP3 export using the LAME library
+]]
+
 set( TARGET mod-mp3 )
 
 set( SOURCES
diff --git a/modules/import-export/mod-mpg123/CMakeLists.txt b/modules/import-export/mod-mpg123/CMakeLists.txt
index 9d10788c34deede2c926c87f3b891ff63fa46c65..57577ec42dba431e82863230180b88a97aa9d02e 100644
--- a/modules/import-export/mod-mpg123/CMakeLists.txt
+++ b/modules/import-export/mod-mpg123/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+MPG123 import
+]]
+
 set( TARGET mod-mpg123 )
 
 set( SOURCES
diff --git a/modules/import-export/mod-ogg/CMakeLists.txt b/modules/import-export/mod-ogg/CMakeLists.txt
index f264a587ef52501adf40e92976c99481ddaaf235..27f387b30a93ef393160dad92773e1379dd9e2ef 100644
--- a/modules/import-export/mod-ogg/CMakeLists.txt
+++ b/modules/import-export/mod-ogg/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+OGG import and export
+]]
+
 set( TARGET mod-ogg )
 
 set( SOURCES
diff --git a/modules/import-export/mod-opus/CMakeLists.txt b/modules/import-export/mod-opus/CMakeLists.txt
index 66b3c4732ada62fbb32d12f5d97f524d6edb0c38..a67ac7064ccf77e2e73f433e029d0fce4aa24389 100644
--- a/modules/import-export/mod-opus/CMakeLists.txt
+++ b/modules/import-export/mod-opus/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Opus import and export
+]]
+
 set( TARGET mod-opus )
 
 set( SOURCES
diff --git a/modules/import-export/mod-pcm/CMakeLists.txt b/modules/import-export/mod-pcm/CMakeLists.txt
index 35718b4effec35af652e3fcdccb6eb5cd3b897b5..e8ce7bd31d49dcf038c5c372a0848b4c1198aedf 100644
--- a/modules/import-export/mod-pcm/CMakeLists.txt
+++ b/modules/import-export/mod-pcm/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+PCM (that is .wav file) import and export
+]]
+
 set( TARGET mod-pcm )
 
 set( SOURCES
diff --git a/modules/import-export/mod-wavpack/CMakeLists.txt b/modules/import-export/mod-wavpack/CMakeLists.txt
index 40e360662f3de5acc892330858b3a589d48553fd..d636f3d8bd19383036e3bacd07dc2d97123dcce4 100644
--- a/modules/import-export/mod-wavpack/CMakeLists.txt
+++ b/modules/import-export/mod-wavpack/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+WavPack import and export
+]]
+
 set( TARGET mod-wavpack )
 
 set( SOURCES
diff --git a/modules/nyquist/CMakeLists.txt b/modules/nyquist/CMakeLists.txt
index 004cbb8f23e7f542fbd3857017248cc8b18e8607..6d86aa662b6674584f47be5c421a5fdb40622e7d 100644
--- a/modules/nyquist/CMakeLists.txt
+++ b/modules/nyquist/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A directory containing modules related to the Nyquist language
+]]
+
 # Include the modules that we'll build
 
 # The list of modules is ordered so that each module occurs after any others
diff --git a/modules/nyquist/mod-nyq-bench/CMakeLists.txt b/modules/nyquist/mod-nyq-bench/CMakeLists.txt
index 7e328c62f14752e85db9abba818670eae82220dd..0a50abf5ffb1256576d926057cdcc46406b891f8 100644
--- a/modules/nyquist/mod-nyq-bench/CMakeLists.txt
+++ b/modules/nyquist/mod-nyq-bench/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Experimental module for interactive development of Nyquist plugins
+]]
+
 set( TARGET mod-nyq-bench )
 set( SOURCES
       NyqBench.cpp
diff --git a/modules/scripting/CMakeLists.txt b/modules/scripting/CMakeLists.txt
index cccb25c77e68eb1d3abbd6cc5801acd263b072a5..faa55b180357d3949837bb2b43e8ccdd671ade86 100644
--- a/modules/scripting/CMakeLists.txt
+++ b/modules/scripting/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A directory containing module targets
+]]
+
 # Include the modules that we'll build
 
 # The list of modules is ordered so that each module occurs after any others
diff --git a/modules/scripting/mod-script-pipe/CMakeLists.txt b/modules/scripting/mod-script-pipe/CMakeLists.txt
index 9bb867f02633404066d71a523195a9fba0c854bf..64cfdd8d08119c67d30a9529682e84470fc29caf 100644
--- a/modules/scripting/mod-script-pipe/CMakeLists.txt
+++ b/modules/scripting/mod-script-pipe/CMakeLists.txt
@@ -1,3 +1,8 @@
+#[[
+Inter-process pipe allowing control of Audacity by sending macro commands and
+receiving responses
+]]
+
 set( SOURCES
    PipeServer.cpp
    ScripterCallback.cpp
diff --git a/modules/sharing/CMakeLists.txt b/modules/sharing/CMakeLists.txt
index 0ab6a99a94e9e499e7d3d73f8ab5f007798a82b2..f8272955f307b768cbe8ed4654290dc12b4a226f 100644
--- a/modules/sharing/CMakeLists.txt
+++ b/modules/sharing/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A directory containing module targets
+]]
+
 # Include the modules that we'll build
 
 # The list of modules is ordered so that each module occurs after any others
diff --git a/modules/sharing/mod-cloud-audiocom/CMakeLists.txt b/modules/sharing/mod-cloud-audiocom/CMakeLists.txt
index e108626fd0a3c52053988350c4b486aaffc5cf3d..e730f1b994df80313dd5b2c4ce2d9ec54da5fb69 100644
--- a/modules/sharing/mod-cloud-audiocom/CMakeLists.txt
+++ b/modules/sharing/mod-cloud-audiocom/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+Upload and download of project files in the cloud
+]]
+
 set( TARGET mod-cloud-audiocom )
 
 set( SOURCES
diff --git a/modules/track-ui/CMakeLists.txt b/modules/track-ui/CMakeLists.txt
index b1db0fd798cd5adbeca78e8400aa97f934a43efb..71b7e6fc95952ca2e138081af45864fab82c76cf 100644
--- a/modules/track-ui/CMakeLists.txt
+++ b/modules/track-ui/CMakeLists.txt
@@ -1,3 +1,7 @@
+#[[
+A directory of module targets
+]]
+
 # Include the modules that we'll build
 
 # The list of modules is ordered so that each module occurs after any others
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1c9ab924b78aaf43ede4318f4ee55e4ab80e9122..32370c55f4c136dab7fa9e05146f50376fd08d18 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,6 @@
+#[[
+Configure the executable, modules, and libraries
+]]
 
 set( TARGET Audacity )
 set( TARGET_ROOT ${topdir}/src )