mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 04:53:36 +00:00
[build] Generate drules at build
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
This commit is contained in:
@@ -34,7 +34,7 @@ cd comaps
|
||||
|
||||
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
|
||||
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-protobuf
|
||||
```
|
||||
|
||||
If you plan to publish the app privately in stores check [special options](#special-cases-options).
|
||||
@@ -82,6 +82,7 @@ xcode-select --install
|
||||
#### Homebrew packages
|
||||
```bash
|
||||
brew install wget optipng cmake qt
|
||||
pip3 install "protobuf<3.21"
|
||||
```
|
||||
|
||||
#### Clone the repository
|
||||
|
||||
@@ -41,6 +41,7 @@ sudo apt update && sudo apt install -y \
|
||||
libxinerama-dev \
|
||||
libxcursor-dev \
|
||||
libxi-dev \
|
||||
python3-protobuf \
|
||||
zlib1g-dev
|
||||
```
|
||||
|
||||
@@ -79,6 +80,7 @@ sudo dnf install -y \
|
||||
qt6-qtpositioning \
|
||||
qt6-qtpositioning-devel \
|
||||
qt6-qtsvg-devel \
|
||||
python3-protobuf \
|
||||
sqlite-devel
|
||||
```
|
||||
|
||||
@@ -96,6 +98,7 @@ sudo apk add \
|
||||
qt6-qtpositioning-dev \
|
||||
qt6-qtsvg-dev \
|
||||
samurai \
|
||||
py3-protobuf \
|
||||
sqlite-dev
|
||||
```
|
||||
|
||||
@@ -103,6 +106,7 @@ sudo apk add \
|
||||
|
||||
```bash
|
||||
brew install cmake ninja qt@6
|
||||
pip3 install "protobuf<3.21"
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
|
||||
Here is the basic workflow to update styles:
|
||||
1. Edit the styles file you want, e.g. [`Roads.mapcss`](../data/styles/default/include/Roads.mapcss)
|
||||
2. Run the `tools/unix/generate_drules.sh` script
|
||||
2. Rebuild the app or run the `tools/unix/generate_drules.sh` script
|
||||
3. Test how your changes look in the app
|
||||
4. Commit your edits and files changed by the script
|
||||
4. Commit your edits
|
||||
5. Send a pull request!
|
||||
|
||||
Please prepend `[styles]` to your commit message and add [Developers Certificate of Origin](CONTRIBUTING.md#legal-requirements) to it.
|
||||
Files changed by the script should be added as a separate `[styles] Regenerated` commit.
|
||||
|
||||
Please check [a list of current styling issues](https://codeberg.org/comaps/comaps/issues?q=&type=all&sort=&labels=410439)
|
||||
and ["icons" issues](https://codeberg.org/comaps/comaps/issues?q=&type=all&sort=&labels=446883).
|
||||
@@ -58,8 +57,8 @@ Icons are stored in [`data/styles/default/light/symbols/`](../data/styles/defaul
|
||||
1. Add an svg icon to `data/styles/default/light/symbols/` (and to `dark` too)
|
||||
preferably look for icons in [collections CoMaps uses already](../data/copyright.html#icons)
|
||||
2. Add icon rendering/visibility rules into `data/styles/default/include/Icons.mapcss` and to "navigation style" `data/styles/vehicle/include/Icons.mapcss`
|
||||
3. Run `tools/unix/generate_symbols.sh` to add new icons into skin files
|
||||
4. Run `tools/unix/generate_drules.sh` to generate drawing rules for the new icons
|
||||
3. Rebuild the app
|
||||
* Or run `tools/unix/generate_symbols.sh` to add new icons into skin files and `tools/unix/generate_drules.sh` to generate drawing rules for the new icons
|
||||
5. [Test](#testing-your-changes) your changes
|
||||
|
||||
## How to add a new map feature / POI type
|
||||
@@ -69,12 +68,12 @@ preferably look for icons in [collections CoMaps uses already](../data/copyright
|
||||
3. Define a priority for the new feature type in e.g. [`priorities_4_overlays.prio.txt`](../data/styles/default/include/priorities_4_overlays.prio.txt) and/or other priorities files
|
||||
4. Add a new icon (see [above](#how-to-add-a-new-icon)) and/or other styling (area, line..)
|
||||
5. If a new POI should be OSM-addable/editable then add it to `data/editor.config`
|
||||
6. Add new type translation into `data/strings/types_strings.txt`
|
||||
6. Add the English string (and optionally translations e.g. for your native language) into iOS and Android type strings
|
||||
e strings
|
||||
7. Add search keywords into `data/categories.txt`
|
||||
8. Run `tools/unix/generate_localizations.sh` to validate and distribute translations into iOS and Android
|
||||
9. Add new or fix current classifier tests at `/generator/generator_tests/osm_type_tests.cpp` if you can
|
||||
10. [Test](#testing-your-changes) your changes
|
||||
11. Relax and wait for the next maps update :)
|
||||
8. Add new or fix current classifier tests at `generator/generator_tests/osm_type_tests.cpp` if you can
|
||||
9. [Test](#testing-your-changes) your changes
|
||||
10. Relax and wait for the next maps update :)
|
||||
|
||||
## Testing your changes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user