https://github.com/ahmadaddakhakhny/bbb-application
Beaglebone Black Application Development with and workflows.
https://github.com/ahmadaddakhakhny/bbb-application
beagleboneblack-sdk clang-format clang-tidy cmake codecov cpm cpp google-test makefile qt6 sanitizer
Last synced: 9 months ago
JSON representation
Beaglebone Black Application Development with and workflows.
- Host: GitHub
- URL: https://github.com/ahmadaddakhakhny/bbb-application
- Owner: AhmadAddakhakhny
- License: mit
- Created: 2025-08-25T18:57:28.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-25T20:11:58.000Z (10 months ago)
- Last Synced: 2025-08-25T21:12:33.472Z (10 months ago)
- Topics: beagleboneblack-sdk, clang-format, clang-tidy, cmake, codecov, cpm, cpp, google-test, makefile, qt6, sanitizer
- Language: CMake
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Beaglebone Black Application Development

This is a Qt/C++ CMake-based platform for developing applications on the BeagleBone Black. What you get is:
* Custom beaglebone black SDK supports Qt6
* Utilize Unit testing using gtest and gmock
* Use of modern CMake for building and compiling
* External libraries installed and managed by Conan
* Tooling: Clang-Format, Clang-format-diff, Cmake-format, Clang-tidy, Sanitizers
## Clone
```bash
git@github.com:AhmadAddakhakhny/BBB-Application.git
https://github.com/AhmadAddakhakhny/BBB-Application.git
```
## Software Requirements
* Python3
* GNU Makefile
* CMake 3.21+
* clang-tidy
* clang-format
* G++9 (or higher), Clang++9 (or higher)
* Code Coverage (only on GNU|Clang): gcovr
## Project Layout
```
BBB-Application/
├── src/ # Central src directory where contain all applications and libs of the project (i.e. LEDController, CAN and libDlt).
└── / # application sources.
└── app/ # Application sources.
└── test/ # Application unit-test.
└── configured/ # lookup of header file/s to be generated during compilation time.
└── docs/ # Unit document design AKA. UDD
└── / # Utility lib. for reusable modules that can be used across different parts of your project whether first or third party lib.
├── sdk/ # Custom Beaglebone black SDk sysroot for both ARM and x86 as supports Qt6, openssl and etc.
├── cmake/ # User defined cmake includes.
│ scripts/ # Scripts for setting project environment.
├── tools/ # Development tools for development process i.e. linters, and formaters (i.e. LLVM clang flavours).
└── conanfile.py # Contains all packages that have to be installed and be consumed by this project via conan package manager.
├── builds/ # OUT-OF-SOURCE build trees (ignored by git).
├── install/ # Installed Project compilation output (ignored by git).
├── docs/ # Architecture document design AKA ADD
├── CMakeLists.txt # Central project CMakeLists.txt file.
├── CMakePresets.json # Defines reusable build configurations (presets) so you can build and cross-compile the project with simple cmake --preset commands
├── Makefile # Wrapper rules for CMakePresets.
├── .gitignore # Execlude dir/files from beaing tracked.
├── .clang-tidy # Clang-tidy config file.
├── .clang-format # Clang-format config file.
├── .cmake-format.yaml # cmake-format config file.
├── LICENSE # Project LICENSE.
```