Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-101154

Consider enforcing usage of configure script instead of plain CMake

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Reported
    • Priority: P2: Important
    • Resolution: Unresolved
    • Affects Version/s: 6.2.3
    • Fix Version/s: 6.4
    • Component/s: Build System: CMake
    • Labels:
      None

      Description

      We should consider enforcing usage of the configure / qt-configure-module scripts to build Qt, and disallow using plain cmake / qt-cmake to build Qt.

      Benefits we would gain from this:

      • Validation of configure arguments (a misspelled configure argument issues an error, while a misspelled cmake argument happily continues configuration)
      • Saving of the initial configure line, which aids in troubleshooting build issues
      • In the future, configure can automatically add --trace-redirect=log.txt --trace-expand --debug-trycompile which we can ask for troubleshooting purposes

      Expert users can opt-into building with plain CMake with a custom option, but it should be opt-in, rather than the default.

      The plan would be to add a deprecation warning in Qt 6.n if plain cmake is used for configuration.
      Then turn the warning into an error in Qt 6.n+1 or 6.n+2.
      Tentatively n == 4, or as soon as possible, because more developers might get used to building Qt with cmake instead of configure while transitioning from Qt 5.

      This depends on getting configure used in the CI first.

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              qtbuildsystem Qt Build System Team
              Reporter:
              alexandru.croitor Alexandru Croitor
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes