Timestamp:
Nov 4, 2011, 6:19:58 AM (14 years ago)
Author:
[email protected]
Message:

[Qt] Refactor and clean up the qmake build system

The qmake build system has accumulated a bit of cruft and redundancy
over time. There's also a fairly tight coupling between how to build
the various targets, and _what_ to build, making it harder to add new
rules or sources. This patch aims to elevate these issues somewhat.

This is a short-list of the changes:

  • The rules for how to build targets are now mostly contained as prf-files in Tools/qmake/mkspecs/features. Using mkspecs also allows us to do pre- and post-processing of each project file, which helps to clean up the actual project files.
  • Derived sources are no longer generated as a separate make-step but is part of each target's project file as a subdir. Makefile rules are used to ensure that we run make on the derived sources before running qmake on the actual target makefile. This makes it easier to keep a proper dependency between derived sources and the target.
  • We use GNU make and the compiler to generate dependencies on UNIX-based systems running Qt 5. This allows us to lessen the need to run qmake, which should reduce compile time.
  • WebKit2 is now build by default if building with Qt 5. It can be disabled by passing --no-webkit2 to build-webkit.

The result of these changes are hopefully a cleaner and easier
build system to modify, and faster build times due to no longer
running qmake on every single build. It's also a first step
towards possibly generating the list of sources using another
build system.

https://bugs.webkit.org/show_bug.cgi?id=71222

Reviewed by Simon Hausmann.

File:
1 added

Note: See TracChangeset for help on using the changeset viewer.