@@ -30,11 +30,55 @@ ninja
3030ninja 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
3636are 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
4084Release 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"
96141ninja
97142ninja 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
157203ninja 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 |
0 commit comments