QtCS25 - State and Direction of Qt's Build System

From Qt Wiki
Jump to navigation Jump to search

Session Summary

QtConBuildSystem2025 part2.pdf
QtConBuildSystem2025.pdf

A quick presentation of what happened in Build System land, how we can improve the public CMake API, and further future plans.

Session Owners

Alexandru Croitor

Cristian Le

Notes

Can the new functionality to download missing modules be extended to outside of Qt Creator?

  • In theory, but in practice this is implemented by Qt Creator (through its injecting of a CMake file into your build)
  • Qt Creator matches to the current build kit, which it knows how to extend
  • The concept of "kits" does not really exist outside of it Qt Creator

Integration with vcpkg:

  • meant to improve how we install 3rd party dependencies in our CI VMs (right now, bunch of hand-written shell/powershell scripts)
  • vcpkg harmonises / simplifies this
  • build system needs an update to be told "ask vcpkg where stuff is"
  • vcpkg installation of dependencies already done
  • also helps users who use vcpkg for the dependencies too

Deprecation of old Qt feature system features:

  • Many of those ended up in public headers for legacy reasons
  • We can hardcode the result if the feature is removed
  • How do we tell users to stop using such macros? There may be a _Pragma solution.

New features requiring new CMake versions:

  • To implement features requested by other customers
  • Problem are users who have old CMake versions (usually, using Yocto Project versions that came with older CMake)
  • Customers/users are unwilling to upgrade to new YP releases
  • Upgrading CMake triggers a rebuild of other software, which means it could cause failures