Skip to content

mFlorianW/rapid-android

Repository files navigation

About

Rapid helps you to organize your rapid-laptimer.
With Rapid you can:

  • Manage sessions: create, view, and review runs with recorded lap times and log data.
  • Manage circuits: add, edit, and delete track definitions used for lap detection.
  • Live view: monitor real-time laptimer data during an active session for immediate feedback.

Do not distribute or rely on this keystore for any release builds.

Dependencies

  • A C++23 compatible compiler (GCC 15+, Clang 20+)
  • Linux with CMake 3.23+ (currently)
  • Ninja (recommended) or Make
  • Qt 6.9+
  • For Android builds: Android NDK and SDK installed.

Development Keystore Notice

The keystore "rapid-android" in the configuration/android folder is for development and testing only. This should make it easier for developers to build and test the Android application without needing to create their own keystore. It's not used for production or "real" releases.

Passwords:

  • Keystore password: 123456
  • Key alias password(s): 123456

Build

This project uses CMake presets for reproducible configure and build setups. Every CMake command should be run from the project root directory.

Configure

cmake --preset <configure-preset>

Configure presets

  • debug: Configure for Linux with debug settings
  • release: Configure for Linux with release settings
  • android-arm64: Configure for Android with debug settings

Build Presets

cmake --build --preset <build-preset>
  • debug: Build for Linux with debug settings
  • release: Build for Linux with release settings
  • android-arm64: Build for Android with debug settings

Test Presets

ctest --preset <test-preset>
  • debug: Test for Linux with debug settings
  • release: Test for Linux with release settings

Conventional Commits

The Rapid project uses Conventional Commits to standardize commit messages. This helps in maintaining a clear and consistent commit history, making it easier to understand the changes made over time.

Pre-commit

The pre-commits feature needs a Python and pip environment. The pip environment is only needed for the automatically install of the pre-commit Python module.

To install the pre-commit module, run the following command:

pip install pre-commit

To install the git hooks defined in the .pre-commit-config.yaml file, run:

pre-commit install

Include-What-You-Use

This project uses Include-What-You-Use (IWYU) to help manage C++ header file dependencies. The tool is automatically enabled in CMake builds if it is found in the PATH.

Installation on Linux

  • Arch Linux:
yay -S include-what-you-use
  • Ubuntu:
sudo apt install include-what-you-use
  • Fedora:
sudo dnf install include-what-you-use