How should I organize a CMake project with lots of files?

  c++, cmake

I am completely new to CMake, and I have never used it before. I am trying to understand how to organize my files. Right now, I have this structure:

.
├── cli
│   ├── cli.cpp
│   ├── cli.h
│   ├── interactive.cpp
│   ├── interactive.h
│   ├── web.cpp
│   └── web.h
├── core
│   ├── Job.cpp
│   ├── Job.h
│   ├── Settings.cpp
│   ├── Settings.h
│   ├── Utils.cpp
│   └── Utils.h
└── ui
    ├── img
    │   └── appicon.xpm
    ├── main.cpp
    ├── main.h
    ├── MainHeader.cpp
    ├── MainHeader.h
    ├── MainWindow.cpp
    ├── MainWindow.h
    ├── SettingsPanel.cpp
    └── SettingsPanel.h

How should I rearrange these files and what would a basic CMakeLists.txt look like?

Thank you.

Source: Windows Questions C++

LEAVE A COMMENT