Uploaded image for project: 'Qt Quality Assurance Infrastructure'
  1. Qt Quality Assurance Infrastructure
  2. QTQAINFRA-6317

API change review CMake parser needs to be smarter.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.8
    • 6.7, 6.8
    • qtqa module
    • None
    • All
    • 8
    • 35b1ec606 (dev), 0260ea192 (dev), b520c6692 (dev)

    Description

      When we moved away from using sync.profile perl fragments to record the public headers, I wrote a quick and dirty parser, qtqa/scripts/api-review/cmakescan.py, to extract that information from our CMake config. It assumed, simplistically, that each Qt module was created by a (unique) qt_internal_add_*_module() call that contained all the information we need.

      It turns out that qtgraphs has more sophisticated CMake config: src/CMakeLists.txt has various features to take into account, that switch it between different places that it calls qt_internal_add_qml_module(Graphs …), after which it goes on to some add_subdirectory() calls and those subdirectories' CMakeLists.txt may qt_internal_extend_target(Graphs …) which may extend the list of relevant sources. Of course, there may be other modules that do similar, especially the subdirectories.

      The parser thus needs to be a bit more sophisticated: in particular, it needs to notice add_subdirectory() and actually scan the CMakeLists.txt files of those, recursively, for additions to the module.
      Where there are several qt_internal_add_*_module() for the same Qt module, the list of sources should, of course, be the union of those from all calls.

      Attachments

        For Gerrit Dashboard: QTQAINFRA-6317
        # Subject Branch Project Status CR V

        Activity

          People

            Eddy Edward Welbourne
            Eddy Edward Welbourne
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes