2012-10-02 09:12:39 +02:00
|
|
|
/****************************************************************************
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
**
|
2016-01-15 14:57:14 +01:00
|
|
|
** Copyright (C) 2016 The Qt Company Ltd.
|
|
|
|
|
** Contact: https://www.qt.io/licensing/
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
** This file is part of Qt Creator.
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
** Commercial License Usage
|
|
|
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
|
|
|
** accordance with the commercial license agreement provided with the
|
|
|
|
|
** Software or, alternatively, in accordance with the terms contained in
|
2016-01-15 14:57:14 +01:00
|
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
|
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
|
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
**
|
2016-01-15 14:57:14 +01:00
|
|
|
** GNU General Public License Usage
|
|
|
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
|
|
|
** General Public License version 3 as published by the Free Software
|
|
|
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
|
|
|
** included in the packaging of this file. Please review the following
|
|
|
|
|
** information to ensure the GNU General Public License requirements will
|
|
|
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
2010-12-17 16:01:08 +01:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
****************************************************************************/
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* This is a precompiled header file for use in Xcode / Mac GCC /
|
|
|
|
|
* GCC >= 3.4 / VC to greatly speed the building of Qt Creator.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#if defined __cplusplus
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QtGlobal>
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
|
|
|
|
|
#ifdef Q_WS_WIN
|
|
|
|
|
# define _POSIX_
|
|
|
|
|
# include <limits.h>
|
|
|
|
|
# undef _POSIX_
|
|
|
|
|
#endif
|
|
|
|
|
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QCoreApplication>
|
|
|
|
|
#include <QList>
|
|
|
|
|
#include <QVariant>
|
|
|
|
|
#include <QObject>
|
|
|
|
|
#include <QRegExp>
|
|
|
|
|
#include <QString>
|
|
|
|
|
#include <QStringList>
|
|
|
|
|
#include <QTextCodec>
|
|
|
|
|
#include <QPointer>
|
|
|
|
|
#include <QScopedPointer>
|
|
|
|
|
#include <QSharedPointer>
|
|
|
|
|
#include <QDebug>
|
Add precompiled headers to Qt Creator sources, to any library and plugin
Precompiled headers are a performance feature supported by some
compilers to reduce the (re-)compilation time substantially.
Usage in Qt: http://doc.qt.nokia.com/4.7/qmake-precompiledheaders.html
Due to the usage of precompiled headers Qt without demos/examples/webkit
etc might be compiled even faster than Qt Creator on some systems.
Despite of Qt, Qt Creator consist of mostly quite small subprojects
(plugins and libraries) where the effect would not be so noticeable
but still will be visible.
This patch adds default precompiled headers to any plugin and library
(i.e. by changes in src/qtcreatorplugin.pri and src/qtcreatorlibrary.pri
respectively). Almost the same headers are included to general
precompiled header (src/shared/qtcreator_pch.h) like used in QtCore,
just QPointer/QScopedPointer etc and QDebug are added, it is used almost
in any subproject. Also for plugins some QtGui related headers are added
(src/shared/qtcreator_gui_pch.h).
Default precompiled headers are enabled so:
isEmpty(PRECOMPILED_HEADER):PRECOMPILED_HEADER = $$PWD/shared/header.h
So it is possible to override this variable in any place in the project
file in case if it will be needed.
Such overriding is used for Botan (src/libs/3rdparty/botan) - it is
not a Qt project, just a pure C++. Most usable headers were used to
create special precompiled header for Botan. It is 3rd party component
so also src/libs/3rdparty/precompiled_headers folder was created -
to use for any future 3rd party components' precompiled headers.
To enable a usage of precompiled headers feature in Qt projects
'precompile_header' has to be added to CONFIG. It is done by default
for limited platforms only (e.g. not for Linux now), so to enable it on
any other platform - e.g. special qmake command has to be used:
qmake "CONFIG *= precompile_header" -r ../../qt-creator/
To disable a usage of precompiled headers (on platforms where it is
pre-enabled - otherwise it will be used automatically):
qmake "CONFIG -= precompile_header" -r ../../qt-creator/
To see on which platforms precompiled headers feature is enabled
by default - qt/mkspecs folder has to be checked.
Precompiled headers require an additional space on the disk, it looks
like for Qt Creator full size of the shadow build folder grows up to
2 times (e.g. 1.5 GB to 3 GB).
Test results:
Linux x64, gcc 4.4, T7500, 3 GB RAM: About 22.5 minutes are reduced
to about 14 minutes (almost 80% faster).
Windows x86, vs2008, P8400, 2 GB RAM: About 70 minutes are reduced
to about 20 minutes (amazing 250% faster).
Merge-request: 2182
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2010-10-13 14:02:49 +02:00
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#endif
|