@@ -30,11 +30,55 @@ ninja
30
30
ninja install
31
31
```
32
32
33
- See below for platform-specific instructions.
33
+ See [ below] ( #platform-specific-build-instructions ) for platform-specific instructions.
34
34
35
35
@note It is recommended to use [ CMake workflows] ( #using-cmake-workflows ) as they
36
36
are always up-to-date and cover all supported platforms.
37
37
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
+
38
82
### Linux
39
83
40
84
Release binaries are build with ` -DCMAKE_BUILD_TYPE="Release" ` .
@@ -92,6 +136,7 @@ cmake ../maplibre-native-qt -G "Ninja Multi-Config" \
92
136
-DCMAKE_CONFIGURATION_TYPES=" Release;Debug" \
93
137
-DCMAKE_C_COMPILER_LAUNCHER=" ccache" \
94
138
-DCMAKE_CXX_COMPILER_LAUNCHER=" ccache" \
139
+ -DCMAKE_DEFAULT_CONFIGS=" all" \
95
140
-DCMAKE_INSTALL_PREFIX=" ../install"
96
141
ninja
97
142
ninja install
@@ -112,6 +157,7 @@ cmake ../maplibre-native-qt -G "Ninja Multi-Config" \
112
157
-DCMAKE_CONFIGURATION_TYPES=" Release;Debug" \
113
158
-DCMAKE_C_COMPILER_LAUNCHER=" ccache" \
114
159
-DCMAKE_CXX_COMPILER_LAUNCHER=" ccache" \
160
+ -DCMAKE_DEFAULT_CONFIGS=" all" \
115
161
-DCMAKE_INSTALL_PREFIX=" ../install" \
116
162
-DCMAKE_OSX_ARCHITECTURES=" arm64;x86_64" \
117
163
-DCMAKE_OSX_DEPLOYMENT_TARGET=" 14.0"
@@ -157,48 +203,6 @@ ninja
157
203
ninja install
158
204
```
159
205
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
-
202
206
<div class =" section_buttons " >
203
207
204
208
| Previous | Next |
0 commit comments