Commit e9ae2d7
Build system improvements: OTIO vcpkg overlay migration, general fixes, cross-platform docs (#246)
* Build system improvements: OTIO vcpkg migration, Windows fixes, cross-platform docs
Core build system
-----------------
- Migrate OpenTimelineIO from git submodule to vcpkg overlay port
(cmake/vcpkg_overlay_ports/opentimelineio/). Removes extern/otio,
.gitmodules, cmake/otio_patch.diff, and the OTIO_SUBMODULE option.
- OTIO portfile: on Windows, move .dll files from lib/ to bin/ (vcpkg
convention for applocal.ps1 discovery) and rewrite generated
Targets-*.cmake files so IMPORTED_LOCATION resolves correctly.
- Pin python3 to 3.11.11 in vcpkg.json.
- Lower CMake minimum from 3.28 to 3.26 for broader distro compatibility.
- Work around Qt 6.5/6.8 FindWrapOpenGL.cmake AGL bug on macOS by
pre-creating WrapOpenGL::WrapOpenGL so Qt's find-module early-returns.
Fixed upstream in Qt 6.9+; workaround can be removed once minimum
supported Qt >= 6.9.
CMakePresets
------------
- Remove hardcoded Qt6_DIR from the default preset. Users now supply it
via the Qt6_DIR environment variable, a CMakeUserPresets.json, or a
one-off -D flag (documented in each build guide).
- Add VCPKG_OVERLAY_PORTS path so the new OTIO overlay is picked up.
- Add Ninja generator presets for macOS (arm / intel) and Linux — Release,
RelWithDebInfo and Debug variants. Aligns with existing Windows Ninja
presets.
- Un-hide WinDebug preset.
- Add VCPKG_OVERLAY_TRIPLETS to the Linux base preset.
Windows build fixes
-------------------
- Fix scripts/qt_install to use install(SCRIPT) + configure_file instead
of install(CODE), so ${CMAKE_INSTALL_PREFIX} resolves at install time.
Previously the configure-time prefix was baked in, which broke the
CPack package target because CPack uses a different (staging) prefix.
- Remove the redundant early windeployqt call in src/launch/xstudio/src.
The late call in scripts/qt_install now covers everything and runs
after all other install rules have populated the install tree.
- In cmake/macros.cmake (default_options_qt), add RUNTIME_OUTPUT_DIRECTORY
alongside LIBRARY_OUTPUT_DIRECTORY so *_qml.dll files land in build/bin
on Windows (Windows uses RUNTIME for .dll, not LIBRARY).
- Fix Windows python install path mismatch in python/CMakeLists.txt:
the build produces lib/python3.11/site-packages (Unix layout, because
vcpkg's Python uses that layout on Windows), not Lib/site-packages.
Dev workflow
------------
- Generate build/run_xstudio.bat — a dev launcher that puts Qt's bin
directory on PATH and forwards arguments to xstudio.exe, so xstudio
can be run straight from the build tree without a windeployqt pass.
Documentation
-------------
- downloading_qt.md: add aqtinstall instructions (command-line, no Qt
account required) as a recommended alternative to the GUI installer.
Covers Linux, macOS and Windows.
- index.rst: add "Choosing a guide" section explaining the split between
vcpkg-based guides (recommended) and distro-native guides (advanced).
- linux_generic.md: restructured around the new Qt6_DIR / user-preset
workflow, removed submodule instructions, added optional Ninja section.
- macos.md: minor updates to reflect current dependency list and Qt
workaround now handled in CMakeLists.txt.
- windows.md: full rewrite — unified "Set up the build environment"
section using Enter-VsDevShell with -SkipAutomaticLocation, separate
build sections for Visual Studio and Ninja generators, corrected Qt
path example (C:/Qt not C:/Qt6), user-preset examples for both
generators, note on run_xstudio.bat dev launcher.
Signed-off-by: Olaf Razzoli <olaf.razzoli@gmail.com>
* docs: simplify build guides and pin vcpkg
- Require Ninja as the CMake generator on all platforms; remove the
"Faster builds with Ninja (optional)" sections and the Visual Studio
generator option on Windows.
- Pin vcpkg to commit c2aeddd80357b17592e59ad965d2adf65a19b22f in all
three guides for reproducible dependency builds.
- Document CMakeUserPresets.json as the single way to point CMake at
the local Qt 6.5.3 install; drop the Qt6_DIR env-var and one-off
-DQt6_DIR command-line paths.
- Note that --target package on Windows is slow and recommend a plain
cmake --build build for dev iteration.
- Remove docs/reference/build_guides/developer_tips.md and the link
to it from windows.md.
Signed-off-by: Olaf Razzoli <olaf.razzoli@gmail.com>
---------
Signed-off-by: Olaf Razzoli <olaf.razzoli@gmail.com>
Signed-off-by: Ted Waine <ted.waine@gmail.com>1 parent d2d4ab7 commit e9ae2d7
24 files changed
Lines changed: 384 additions & 171 deletions
File tree
- cmake
- vcpkg_overlay_ports/opentimelineio
- docs/reference/build_guides
- extern/otio
- python
- scripts/qt_install
- src/launch/xstudio/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | 17 | | |
19 | | - | |
20 | 18 | | |
21 | 19 | | |
22 | | - | |
| 20 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
11 | 24 | | |
12 | 25 | | |
13 | 26 | | |
| |||
16 | 29 | | |
17 | 30 | | |
18 | 31 | | |
19 | | - | |
20 | 32 | | |
21 | 33 | | |
22 | 34 | | |
| |||
188 | 200 | | |
189 | 201 | | |
190 | 202 | | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | 203 | | |
196 | 204 | | |
197 | 205 | | |
| |||
218 | 226 | | |
219 | 227 | | |
220 | 228 | | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | 229 | | |
225 | 230 | | |
226 | 231 | | |
227 | 232 | | |
228 | 233 | | |
| 234 | + | |
229 | 235 | | |
230 | 236 | | |
231 | 237 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | 10 | | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
15 | 14 | | |
16 | | - | |
| 15 | + | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | 47 | | |
49 | 48 | | |
50 | 49 | | |
| |||
151 | 150 | | |
152 | 151 | | |
153 | 152 | | |
154 | | - | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
155 | 210 | | |
156 | 211 | | |
157 | 212 | | |
| 213 | + | |
158 | 214 | | |
159 | 215 | | |
160 | 216 | | |
| |||
180 | 236 | | |
181 | 237 | | |
182 | 238 | | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
183 | 267 | | |
184 | 268 | | |
185 | 269 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
| 311 | + | |
311 | 312 | | |
312 | 313 | | |
313 | 314 | | |
| |||
This file was deleted.
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
This file was deleted.
0 commit comments