Edit this page

NA-MIC Project Weeks

Back to Projects List

Transition Slicer Default Build from Qt5 to Qt6

Key Investigators

Project Description

This project focuses on updating Slicer’s build system, dependencies, and related infrastructure to support building, packaging, and distributing Slicer with Qt6.

This effort lays the groundwork for supporting native builds on macOS ARM systems.

Objective

  1. Ensure all Slicer dependencies can be built with Qt6.
  2. Enable building Slicer itself against Qt6.
  3. Tentative: Update infrastructure and build environments to support packaging and continuous integration with Qt6 builds.

Approach and Plan

  1. Identify Suitable Qt6 Version: Evaluate supported Qt6 versions to determine the most compatible and stable version for Slicer (tentatively targeting Qt 6.9).

  2. Test Qt6 Compatibility of Dependencies: Build Slicer’s external dependencies with Qt6, document any issues encountered, and work toward resolving them.

  3. Enable Qt6 Build of Slicer: Support configuring Slicer with Slicer_REQUIRED_QT_VERSION=6.9 (or selected version) to enable Qt6-based builds.

  4. Update Infrastructure and CI for Qt6 (Tentative)

    • Update packaging scripts and build environments (e.g., Docker images, GitHub Actions runners) to support Qt6-based builds.
    • Add CI jobs to test, build, and package Slicer against Qt6 on supported platforms (Linux, Windows, macOS ARM/x86_64).
    • Validate the creation of functioning Slicer packages built with Qt6.

Progress and Next Steps

No response

Illustrations

No response

Background and References