The source tree for this superbuild should now feel familiar:
.
├── CMakeLists.txt
├── external
│ └── upstream
│ ├── CMakeLists.txt
│ └── message
│ └── CMakeLists.txt
└── src
├── CMakeLists.txt
└── use_message.cpp
The root directory has a CMakeLists.txt, which we already know will orchestrate the superbuild. The leaf directories src and external host our own source code and the CMake directives needed to satisfy the dependency on the message library, which we will build in this example.