Skip to content

Commit d929c78

Browse files
ntadejlouwers
andauthored
Prepare release 3.0 (#177)
* Update changelog for 3.0.0 release * Minor documentation tweaks * Update clang-tidy config for LLVM 19 * Move JDK distribution to temurin * Apply suggestions from code review Co-authored-by: Bart Louwers <[email protected]> --------- Co-authored-by: Bart Louwers <[email protected]>
1 parent 06ca8a4 commit d929c78

File tree

7 files changed

+84
-45
lines changed

7 files changed

+84
-45
lines changed

.clang-tidy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Checks: >
2626
-misc-include-cleaner,
2727
-misc-no-recursion,
2828
-misc-non-private-member-variables-in-classes,
29+
-misc-use-internal-linkage,
2930
-modernize-avoid-c-arrays,
3031
-modernize-use-trailing-return-type,
3132
-readability-convert-member-functions-to-static,

.github/workflows/Android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ jobs:
110110
- name: Set up OpenJDK 17
111111
uses: actions/setup-java@v4
112112
with:
113-
distribution: adopt
113+
distribution: temurin
114114
java-version: 17
115115

116116
- name: Setup ninja

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,35 @@
11
# Changelog
22

3+
## v3.0.0
4+
5+
### ✨ New features
6+
7+
- Completely reorganized the project structure into the `QMapLibre` namespace
8+
and three libraries: `QMapLibre`, `QMapLibreLocation` and `QMapLibreWidgets`.
9+
- Reference documentation now available at
10+
https://maplibre.org/maplibre-native-qt/docs/.
11+
- Built with Qt 6.5, 6.6 and 6.7 for all platforms and also Qt 5.15.2 for
12+
macOS, Linux and Windows.
13+
- QML configuration cleaned up, styles are now set with `maplibre.map.styles`.
14+
- QML style parameters are also made available in C++.
15+
Now imported using `import MapLibre 3.0`.
16+
- QML plugins can be installed using a CMake helper function
17+
`qmaplibre_location_setup_plugins`.
18+
- Add ability to build as static libraries (#98).
19+
- Add CMake presets for easier usage (#112).
20+
- Support image coordinate change (#139).
21+
- Add mouse events with coordinate to GLWidget (#141).
22+
- Improve GeoJSON and image source handling (#164).
23+
24+
### 🐞 Bug fixes
25+
26+
- Improve handling of system ICU on Linux (#56).
27+
- Allow to use as a CMake included project (#100).
28+
- Make creation of Style with empty URL possible (#107).
29+
- Set proper soversion (#117).
30+
- Use less generic target names to allow usage as subproject (#127).
31+
- Fix style filters setting (#163).
32+
333
## v2.1.0
434

535
### ✨ New features

docs/Building.md

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,55 @@ ninja
3030
ninja install
3131
```
3232

33-
See below for platform-specific instructions.
33+
See [below](#platform-specific-build-instructions) for platform-specific instructions.
3434

3535
@note It is recommended to use [CMake workflows](#using-cmake-workflows) as they
3636
are always up-to-date and cover all supported platforms.
3737

38+
## Using CMake workflows
39+
40+
CMake workflow presets are provided for all supported platforms.
41+
Run the following command in the root directory to use a preset:
42+
43+
```shell
44+
cmake --workflow --preset <preset>
45+
```
46+
47+
for example
48+
49+
```shell
50+
cmake --workflow --preset macOS-ccache
51+
```
52+
53+
will run the macOS build with `ccache` enabled.
54+
55+
It is recommended to set `QT_ROOT_DIR` environment variable as the path
56+
to the Qt installation to be used, mainly for mobile platforms to use
57+
the correct Qt version.
58+
59+
For Android, the `ANDROID_ABI` environment variable should be set.
60+
61+
### Supported release workflows
62+
63+
| Platform | Qt6 | Qt6 with ccache | Qt5 | Qt5 with ccache |
64+
|----------|-----------|------------------|------------------|-------------------------|
65+
| Linux | `Linux` | `Linux-ccache` | `Linux-legacy` | `Linux-legacy-ccache` |
66+
| macOS | `macOS` | `macOS-ccache` | `macOS-legacy` | `macOS-legacy-ccache` |
67+
| Windows | `Windows` | `Windows-ccache` | `Windows-legacy` | `Windows-legacy-ccache` |
68+
| iOS | `iOS` | `iOS-ccache` | | |
69+
| Android | `Android` | `Android-ccache` | | |
70+
| WASM | `WASM` | `WASM-ccache` | | |
71+
72+
### Special workflows
73+
74+
| Platform | Workflow | Description |
75+
|----------|----------------------|---------------------------------------------------------------------|
76+
| Linux | `Linux-coverage` | Linux build with Qt6, `ccache` and code coverage |
77+
| Linux | `Linux-internal-icu` | Linux build with Qt6 and internal ICU library (also with `-ccache`) |
78+
| macOS | `macOS-clang-tidy` | macOS build with Qt6, `ccache` and `clang-tidy` |
79+
80+
## Platform specific build instructions
81+
3882
### Linux
3983

4084
Release binaries are build with `-DCMAKE_BUILD_TYPE="Release"`.
@@ -92,6 +136,7 @@ cmake ../maplibre-native-qt -G "Ninja Multi-Config" \
92136
-DCMAKE_CONFIGURATION_TYPES="Release;Debug" \
93137
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
94138
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
139+
-DCMAKE_DEFAULT_CONFIGS="all" \
95140
-DCMAKE_INSTALL_PREFIX="../install"
96141
ninja
97142
ninja install
@@ -112,6 +157,7 @@ cmake ../maplibre-native-qt -G "Ninja Multi-Config" \
112157
-DCMAKE_CONFIGURATION_TYPES="Release;Debug" \
113158
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
114159
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
160+
-DCMAKE_DEFAULT_CONFIGS="all" \
115161
-DCMAKE_INSTALL_PREFIX="../install" \
116162
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
117163
-DCMAKE_OSX_DEPLOYMENT_TARGET="14.0"
@@ -157,48 +203,6 @@ ninja
157203
ninja install
158204
```
159205

160-
## Using CMake workflows
161-
162-
CMake workflow presets are provided for all supported platforms.
163-
They can be simply used by running in the root directory of the repository:
164-
165-
```shell
166-
cmake --workflow --preset <preset>
167-
```
168-
169-
for example
170-
171-
```shell
172-
cmake --workflow --preset macOS-ccache
173-
```
174-
175-
will run the macOS build with `ccache` enabled.
176-
177-
It is recommended to set `QT_ROOT_DIR` environment variable as the path
178-
to the Qt installation to be used, mainly for mobile platforms to use
179-
the correct Qt version.
180-
181-
For Android, `ANDROID_ABI` environment variable should be set.
182-
183-
### Supported release workflows
184-
185-
| Platform | Qt6 | Qt6 with ccache | Qt5 | Qt5 with ccache |
186-
|----------|-----------|------------------|------------------|-------------------------|
187-
| Linux | `Linux` | `Linux-ccache` | `Linux-legacy` | `Linux-legacy-ccache` |
188-
| macOS | `macOS` | `macOS-ccache` | `macOS-legacy` | `macOS-legacy-ccache` |
189-
| Windows | `Windows` | `Windows-ccache` | `Windows-legacy` | `Windows-legacy-ccache` |
190-
| iOS | `iOS` | `iOS-ccache` | | |
191-
| Android | `Android` | `Android-ccache` | | |
192-
| WASM | `WASM` | `WASM-ccache` | | |
193-
194-
### Special workflows
195-
196-
| Platform | Workflow | Description |
197-
|----------|----------------------|---------------------------------------------------------------------|
198-
| Linux | `Linux-coverage` | Linux build with Qt6, `ccache` and code coverage |
199-
| Linux | `Linux-internal-icu` | Linux build with Qt6 and internal ICU library (also with `-ccache`) |
200-
| macOS | `macOS-clang-tidy` | macOS build with Qt6, `ccache` and `clang-tidy` |
201-
202206
<div class="section_buttons">
203207

204208
| Previous | Next |

docs/Documentation.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ You would normally use this API in a Qt-based application.
55
If you are interested in the internals of MapLibre Native you can also look at
66
[Core C++ API](https://maplibre.org/maplibre-native/cpp/api/).
77

8+
If not explicitly specified, all classes and functions are available
9+
as of version 3.0 of the library.
10+
811
The source code can be found [on GitHub](https://github.com/maplibre/maplibre-native-qt):
912

1013
```shell

docs/Doxyfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -952,6 +952,7 @@ WARN_LOGFILE =
952952
INPUT = \
953953
../src/core \
954954
../src/widgets \
955+
../CHANGELOG.md \
955956
location \
956957
Documentation.md \
957958
Building.md \

test/widgets/gl_tester.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void GLTester::initializeAnimation() {
3838
int GLTester::selfTest() {
3939
if (m_bearingAnimation) {
4040
m_bearingAnimation->setDuration(kAnimationDuration);
41-
m_bearingAnimation->setEndValue(map()->bearing() + 360 * 4);
41+
m_bearingAnimation->setEndValue(map()->bearing() + (360 * 4));
4242
m_bearingAnimation->start();
4343
}
4444

0 commit comments

Comments
 (0)