1. Source code directory
QGroundControl uses pro to manage projects and can use qmake to compile. There is also CMakeLists.txt, which should be compiled using cmake, but I haven’t tried it yet.
QGroundControl is cross-platform and supports android, win, linux, mac, and ios systems. The configuration of cross-platform compilation can be seen in QGCCommon.pri.
1.1 Directory tree
qgroundcontrol$ tree -L 1
.
├── android
├── android_environment.sh
├── android.pri
├── CentOS.md
├── ChangeLog.md
├── cmake
├── CMakeLists.txt
├── CODE_OF_CONDUCT.md
├── CodingStyle.cc
├── CodingStyle.h
├── CodingStyle.qml
├── CONTRIBUTING.md
├── COPYING.md
├── crowdin.yml
├── custom-example
├── Custom-Info.plist
├── debian
├── deploy
├── doc
├── ios
├── ISSUE_TEMPLATE.md
├── libs
├── Makefile
├── PULL_REQUEST_TEMPLATE.md
├── QGCCommon.pri
├── QGCExternalLibs.pri
├── qgcimages.qrc
├── QGCPostLinkCommon.pri
├── QGCPostLinkInstaller.pri
├── qgcresourc