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

C++ syncqt tool should be built like moc

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • 6.5.0, 6.6.0
    • 6.5.0
    • Build System: CMake
    • None
    • 6f7d09677 (dev), 5761f254a (dev), fdeaf3054 (dev), 16fa77991 (6.5), 009d4fdc2 (6.5), 4e4cd7416 (dev), b2f093135 (6.5), 7e198c8fa (6.5), a8cf976ce (dev), c131e159b (6.6)

      The C++ syncqt tool that replaced the Perl script has severe buildsystem problems:

      1. it is compiled during CMake time, instead of Ninja time
      2. It has no NInja target to build it
      3. it is an always-optimised build

      I understand the first one may be difficult to solve, as we may need it during generation time. I don't see why, because after a CMake run on a clean build dir, the include hierarchy is pretty empty:

      $ find include/QtCore -type f 
      include/QtCore/QtCoreDepends
      include/QtCore/qtcoreexports.h
      

      This tells me that syncqt hasn't been run yet, so it needn't have been built yet.

      Regardless, there has to be a target to rebuild it without having to rerun CMake, otherwise iterating on it is very time-consuming.

      Finally, it needs to obey the user's choice of compiler flags and build types, like moc does. That means a debug build of qtbase must produce a debug build of syncqt, so we can actually debug the tool. The impact on time execution is minimal for this tool, especially compared to the cmake_automoc and moc tools, which do far more processing and are run far more often. Besides, there's QT_FORCE_FIND_TOOLS to avoid such problems.

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

            semlanik Alexey Edelev
            thiago Thiago Macieira
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: