qt5base-lts/mkspecs
Thiago Macieira 6668f5becf Implement a more direct headersclean check
Test each include file directly, instead of doing a large #include. This
verifies that each header is compilable on its own. One big advantage of
doing it via a special compiler in qmake is that we skip pre-compiled
headers, which has hidden build errors in the past.

This solution is implemented by making syncqt produce a second list of
headers.  This list is the same as the list of headers in the source
code to be installed, minus the headers that declare themselves to be
unclean, via the pragma:
  #pragma qt_sync_skip_header_check

This mechanism is applied only for public libraries (skipping
QtPlatformSupport, an internal_module).

This test is enabled only for -developer-builds of Qt because it
increases the compilation time.

On QtTest: the library only links to QtCore, but it has two headers that
provide inline-only functionality by including QtGui and QtWidgets
headers (namely, qtest_gui.h and qtest_widget.h). If those two modules
aren't getting compiled due to -no-gui or -no-widgets to configure, we
need to remove the respective headers from the list of headers to be
checked. If they are being built, then we need to make QtTest's build
wait for the headers to be generated and that happens when qmake is
first run inside the src/gui and src/widgets directories.

Change-Id: I57d64bd697a92367c8464c073a42e4d142a9a15f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-17 00:54:45 +00:00
..
aix-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
aix-g++-64 Update copyright headers 2015-02-11 06:49:51 +00:00
aix-xlc Update copyright headers 2015-02-11 06:49:51 +00:00
aix-xlc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
android-g++ Merge remote-tracking branch 'origin/5.4' into 5.5 2015-03-31 10:03:31 +02:00
blackberry-armle-v7-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
blackberry-x86-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
common Fix clang release with debuginfo builds 2015-04-01 13:07:13 +00:00
cygwin-g++ centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
darwin-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
devices Merge remote-tracking branch 'origin/5.4' into 5.5 2015-03-31 10:03:31 +02:00
features Implement a more direct headersclean check 2015-04-17 00:54:45 +00:00
freebsd-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
freebsd-g++46 Update copyright headers 2015-02-11 06:49:51 +00:00
freebsd-icc Update copyright headers 2015-02-11 06:49:51 +00:00
haiku-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
hpux-acc Update copyright headers 2015-02-11 06:49:51 +00:00
hpux-acc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
hpux-acc-o64 Update copyright headers 2015-02-11 06:49:51 +00:00
hpux-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
hpux-g++-64 Update copyright headers 2015-02-11 06:49:51 +00:00
hpuxi-acc-32 Update copyright headers 2015-02-11 06:49:51 +00:00
hpuxi-acc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
hpuxi-g++-64 Update copyright headers 2015-02-11 06:49:51 +00:00
hurd-g++ centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
irix-cc Update copyright headers 2015-02-11 06:49:51 +00:00
irix-cc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
irix-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
irix-g++-64 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-arm-gnueabi-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-clang Update copyright headers 2015-02-11 06:49:51 +00:00
linux-clang-libc++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-cxx Update copyright headers 2015-02-11 06:49:51 +00:00
linux-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-g++-32 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-g++-64 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-icc Update copyright headers 2015-02-11 06:49:51 +00:00
linux-icc-32 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-icc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-kcc Update copyright headers 2015-02-11 06:49:51 +00:00
linux-llvm Update copyright headers 2015-02-11 06:49:51 +00:00
linux-lsb-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-pgcc Update copyright headers 2015-02-11 06:49:51 +00:00
lynxos-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
macx-clang Update copyright headers 2015-02-11 06:49:51 +00:00
macx-clang-32 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++40 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++42 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++-32 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-icc Update copyright headers 2015-02-11 06:49:51 +00:00
macx-ios-clang fix quoting problems in ios main() renamer 2015-03-27 13:29:59 +00:00
macx-llvm Update copyright headers 2015-02-11 06:49:51 +00:00
macx-xcode Add XCTest logger backend to QtTestLib 2015-03-27 16:53:43 +00:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
openbsd-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
qnx-armle-v7-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
qnx-x86-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
sco-cc Update copyright headers 2015-02-11 06:49:51 +00:00
sco-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-cc Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-cc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-cc-64-stlport Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-cc-stlport Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-g++-64 Update copyright headers 2015-02-11 06:49:51 +00:00
tru64-cxx Update copyright headers 2015-02-11 06:49:51 +00:00
tru64-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
unixware-cc Update copyright headers 2015-02-11 06:49:51 +00:00
unixware-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
unsupported centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-g++ centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-icc centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2005 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2008 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2010 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2012 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2013 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2015 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
wince60standard-armv4i-msvc2005 Update copyright headers 2015-02-11 06:49:51 +00:00
wince60standard-x86-msvc2005 Update copyright headers 2015-02-11 06:49:51 +00:00
wince70embedded-armv4i-msvc2008 Update copyright headers 2015-02-11 06:49:51 +00:00
wince70embedded-x86-msvc2008 Update copyright headers 2015-02-11 06:49:51 +00:00
winphone-arm-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00
winphone-x86-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00
winrt-arm-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00
winrt-x64-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00
winrt-x86-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00