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

qmake breaks `make -q' when requires() is used in .pro files

    XMLWordPrintable

Details

    Description

      On Unix, `make -q' is supposed to indicate whether or not a rule needs rebuilding.
      This generally works on qmake-generated makefiles.

      However, if a .pro file uses requires() on a condition which evaluates to false, the stub makefile
      generated always causes `make -q' to claim the makefile's target is out of date. This makes `make -q'
      unusable on a large project containing some disabled subdirectories (e.g., Qt).

      This problem makes Qtopia's qbuild repeatedly rebuild all of Qtopia,
      as it uses `make -q' to determine if Qt has changed.

      Testcase:
      1. Create an empty directory
      2. Create a .pro file in that directory with these contents: requires(false)
      3. Run qmake
      4. Run make; it should complete successfully with this output:
      Some of the required modules (false) are not available.
      Skipped.
      5. Run make -q.
      Expected results: exits with a 0 exit code (up-to-date).
      Actual results: exits with an exit code of 1.

      Attachments

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

        Activity

          People

            stormols Marius Storm-Olsen
            rmcgover Rohan McGovern (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes