mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-16 00:54:22 +00:00
Compare commits
1 Commits
patepelo-i
...
patepelo-f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
757857a264 |
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user