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

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

        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