Compare commits

..

1 Commits

Author SHA1 Message Date
patepelo
757857a264 Fix styling
Signed-off-by: patepelo <developer.anton@gmail.com>
2026-01-09 18:57:40 -04:00
3 changed files with 26 additions and 109 deletions

View File

@@ -170,3 +170,7 @@ app.comaps
Licensed under the Apache License 2.0.
See [LICENSE](LICENSE), [NOTICE](NOTICE), and [data/copyright.html](data/copyright.html).
## ✅ 100% FOSS
Our project is completly free and open source software; "[is it really FOSS?](https://isitreallyfoss.com/projects/comaps/)" has classified CoMaps as a truly Free Open Source Project

View File

@@ -21,51 +21,17 @@ Clone the repository including all submodules (see [Special cases options](#spec
Follow the instructions for your OS, and afterwards the repository is prepared to build a CoMaps app!
## Setting up to your OS of development
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Linux</span></summary>
### Linux
Clone the repository
```bash
git clone --recurse-submodules --shallow-submodules https://codeberg.org/comaps/comaps.git
```
### Install required packages for your specific Linux distro
<details>
<summary><span style="font-size: 1em; font-weight: bold;">Ubuntu/Debian</span></summary>
Install required packages (Ubuntu/Debian):
```bash
sudo apt install build-essential cmake qt6-base-dev qt6-svg-dev qt6-positioning-dev libicu-dev libfreetype-dev libharfbuzz-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev optipng python3-pip ninja-build
pip install "protobuf<3.21" --break-system-packages
```
</details>
<details>
<summary><span style="font-size: 1em; font-weight: bold;">Arch Linux</span></summary>
```bash
sudo pacman -S base-devel cmake qt6-base qt6-svg qt6-positioning icu freetype2 harfbuzz harfbuzz-utils libxrandr libxinerama libxcursor libxi ninja python-pip optipng
```
</details>
<details>
<summary><span style="font-size: 1em; font-weight: bold;">Fedora</span></summary>
```bash
sudo dnf install @development-tools cmake qt6-qtbase qt6-qtsvg qt6-qtpositioning icu harfbuzz freetype libXrandr libXinerama libXcursor libXi optipng python3-pip ninja-build
```
</details>
Note: If the system can't find `pip`, try `pip3` instead
### Configure running bash script
Go into the cloned repository and configure it for development:
```bash
@@ -75,11 +41,7 @@ cd comaps
If you plan to publish the app privately in stores check [special options](#special-cases-options).
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Windows</span></summary>
### Windows
You need to have [Git for Windows](https://git-scm.com/download/win) installed and Git bash available in the PATH.
It's necessary to enable symlink support:
@@ -107,11 +69,7 @@ For _Windows 10_: You should be able to build the project by following either o
**Setup 2: Using Visual Studio Developer Command Prompt**
Install the [Visual Studio Developer Command Prompt](https://docs.microsoft.com/en-us/visualstudio/ide/reference/command-prompt-powershell?view=vs-2022) (make sure to choose the latest MSVC x64/x86 build tool and Windows 10/11 SDK as individual components while installing Visual Studio).
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">macOS</span></summary>
### macOS
Install required build dependencies and Xcode
1. Install Xcode Command Line Tools
2. Install [Xcode](https://apps.apple.com/app/xcode/id497799835?mt=12) from the App Store
@@ -135,10 +93,8 @@ git clone --recurse-submodules --shallow-submodules https://codeberg.org/comaps/
cd comaps
./configure.sh
```
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Special cases options</span></summary>
### Special cases options
If you're only doing a one-off build or your internet bandwidth or disk space is limited, add following options to the `git clone` command:
@@ -158,11 +114,7 @@ It'll seamlessly replace the squashed first "Organic Maps sources as of 02.04.20
The `om-historic.git` repo is ~1Gb only as various historic blobs, bundled 3rd-party deps, etc. were removed from it.
If you really need them (e.g. to build a very old app version) then refer to full organicmaps.git repo please.
</details>
## Develop for:
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Android app</span></summary>
## Android app
### Preparing
@@ -247,10 +199,9 @@ To enable logging in case of crashes, after installing a debug version, run:
```bash
adb shell pm grant app.organicmaps.debug android.permission.READ_LOGS
```
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Android Auto</span></summary>
### Android Auto Development
Android Auto can be developed and tested without having a physical device by using [Desktop Head Unit (DHU)](https://developer.android.com/training/cars/testing/dhu). Go to Android Studio > Tools -> SDK Manager -> SDK Tools and enable "Android Auto Desktop Head Unit".
@@ -398,10 +349,8 @@ Example of command line for running system tracing:
```
./record_android_trace -a app.organicmaps.debug -o trace_file.perfetto-trace -t 30s -b 64mb sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory
```
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">iOS app</span></summary>
## iOS app
### Preparing
@@ -452,11 +401,7 @@ Select "CoMaps" product scheme.
Compile and run the project ("Product" → "Run").
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">CarPlay</span></summary>
### CarPlay
To test CarPlay, simply select "I/O" → "External Displays" → "CarPlay" in the Simulator
### Spoofing GPS
@@ -466,15 +411,9 @@ To select an Apple predetermined track or specific custom location, choose "Feat
To simulate a custom GPX track use `python3 tools/python/ios_simulator_load_gpx.py <path to your gpx>` which is a wrapper for `xcrun simctl location`. Default values are 60 km/h and 0.1s update intervals, but can be customized
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Desktop developer app</span></summary>
## Desktop app
See [install_desktop](INSTALL_DESKTOP.md) to install and build Desktop app for Linux and Mac OS
</details>
## Map data and styles
See readme for the [map generator](MAPS.md) and [styles](STYLES.md) if you need to customize the map files and styles.

View File

@@ -4,8 +4,7 @@
You need a Linux or a MacOS machine to build a desktop version of CoMaps. [Windows](#windows) users can use the [WSL](https://learn.microsoft.com/en-us/windows/wsl/) (Windows Subsystem for Linux) and follow ["Linux or Mac"](#linux-or-mac) steps described below.
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Linux or MacOS</span></summary>
### Linux or MacOS
Ensure that you have at least 20GB of free space.
@@ -133,11 +132,8 @@ pip3 install "protobuf<3.21" --break-system-packages
brew install cmake ninja qt@6
pip3 install "protobuf<3.21"
```
</details>
<details>
<summary><span style="font-size: 1.5em; font-weight: bold;">Windows</span></summary>
### Windows
We haven't compiled CoMaps on Windows *natively* in a long time, somes adaptations is required to support Windows.
You'll need to have python3, cmake, ninja, and QT6 in the PATH, and Visual Studio 2022 or Visual Studio 2022 Build Tools installed. Use [Visual Studio Developer Command Prompt](https://learn.microsoft.com/en-us/visualstudio/ide/reference/command-prompt-powershell?view=vs-2022) or generate Visual Studio project files with CMake to build the project.
@@ -171,7 +167,6 @@ Now when you want to run the desktop app you just need to first launch the X Ser
Running X Server is also required to run `generate_symbols.sh` script when you change icons for [styles](STYLES.md)
</details>
### Building
@@ -204,22 +199,17 @@ The generated binaries appear in `../omim-build-<buildtype>`.
A desktop app binary is `CoMaps`. To run e.g. a release version:
<details>
<summary><span style="font-size: 1em; font-weight: bold;">Linux</span></summary>
_Linux:_
```bash
../omim-build-release/CoMaps
```
</details>
<details>
<summary><span style="font-size: 1em; font-weight: bold;">macOS</span></summary>
_macOS:_
```bash
../omim-build-release/CoMaps.app/Contents/MacOS/CoMaps
```
</details>
### Testing
@@ -249,17 +239,18 @@ Some tests are known to be broken and disabled on CI.
### Test Coverage
To generate a test coverage report you'll need [gcovr](https://gcovr.com) and gcov tools installed:
<details>
<summary><span style="font-size: 1em; font-weight: bold;">Linux</span></summary>
To generate a test coverage report you'll need [gcovr](https://gcovr.com) and gcov tools installed.
Installing gcovr on Linux:
```bash
pip3 install gcovr
```
Installing gcovr on MacOS:
```bash
brew install gcovr
```
Installing gcov on Linux:
```bash
# If you're using GCC compiler
@@ -269,18 +260,6 @@ sudo apt-get install cpp
sudo apt-get install llvm
```
</details>
<details>
<summary><span style="font-size: 1em; font-weight: bold;">MacOS</span></summary>
Installing gcovr on MacOS:
```bash
brew install gcovr
```
Installing gcov on MacOS:
```bash
# If you're using AppleClang compiler it should already be installed
@@ -289,12 +268,7 @@ Installing gcov on MacOS:
brew install llvm
```
</details>
#### Steps to generate coverage report:
Steps to generate coverage report:
1. Configure cmake with `-DCOVERAGE_REPORT=ON` flag:
```bash