[build] Generate drules at build

Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
This commit is contained in:
x7z4w
2025-06-16 09:42:57 +00:00
parent dd7739a8b2
commit 45ec96dd3c
24 changed files with 35 additions and 849773 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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