diff --git a/qtcreator.pri b/qtcreator.pri
index d45f25e375a30fa9dfdafabd49485745c142955d..f0599b633505b7eb625feced7aa5a07e5ae7499a 100644
--- a/qtcreator.pri
+++ b/qtcreator.pri
@@ -154,3 +154,8 @@ win32-msvc* {
     #Don't warn about sprintf, fopen etc being 'unsafe'
     DEFINES += _CRT_SECURE_NO_WARNINGS
 }
+
+qt:greaterThan(QT_MAJOR_VERSION, 4) {
+    contains(QT, gui): QT += widgets
+    contains(QT, declarative): QT += qtquick1
+}
diff --git a/src/libs/qtcomponents/styleitem/styleitem.pro b/src/libs/qtcomponents/styleitem/styleitem.pro
index 90b8eee8ce9859af257b72045ee5ba230bc45a0d..c7a44f09a0117ecdb8f7c79741068d4d6f4101b9 100644
--- a/src/libs/qtcomponents/styleitem/styleitem.pro
+++ b/src/libs/qtcomponents/styleitem/styleitem.pro
@@ -2,6 +2,7 @@ TEMPLATE = lib
 CONFIG += qt plugin
 QT += declarative
 QT += script
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets qtquick1
 
 TARGET  = styleplugin
 include(../../../../qtcreator.pri)
diff --git a/src/libs/utils/process_ctrlc_stub.pro b/src/libs/utils/process_ctrlc_stub.pro
index 9dcff34568d4ca3dedbb284eeec00db38478d533..4b99fe33ed15c9ce4b3da0696968d941b2c3b2fd 100644
--- a/src/libs/utils/process_ctrlc_stub.pro
+++ b/src/libs/utils/process_ctrlc_stub.pro
@@ -1,14 +1,14 @@
 !win32: error("process_ctrlc_stub is Windows only")
 
+CONFIG    -= qt
+CONFIG    += console warn_on
+
 include(../../../qtcreator.pri)
 
 TEMPLATE  = app
 TARGET    = qtcreator_ctrlc_stub
 DESTDIR   = $$IDE_LIBEXEC_PATH
 
-QT        =
-CONFIG    += console warn_on
-
 SOURCES   += process_ctrlc_stub.cpp
 LIBS      += -luser32 -lshell32
 
diff --git a/src/libs/utils/process_stub.pro b/src/libs/utils/process_stub.pro
index ea6b77aa41d6862f2b528371f2a0f0064145da44..7e498a7781860dacc6159ec519d24eb5c60fdc13 100644
--- a/src/libs/utils/process_stub.pro
+++ b/src/libs/utils/process_stub.pro
@@ -1,12 +1,12 @@
+CONFIG          += warn_on console use_c_linker
+CONFIG          -= qt app_bundle
+
 include(../../../qtcreator.pri)
 
 TEMPLATE        = app
 TARGET          = qtcreator_process_stub
 DESTDIR         = $$IDE_LIBEXEC_PATH
 
-CONFIG          += warn_on console use_c_linker
-CONFIG          -= qt app_bundle
-
 build_all:!build_pass {
     CONFIG -= build_all
     CONFIG += release
diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri
index 3e70a1340ad856026015fc6dc2c819f165aafc38..3277e46240aaeea1728b30bcf0fd5725b21296e0 100644
--- a/src/libs/utils/utils-lib.pri
+++ b/src/libs/utils/utils-lib.pri
@@ -7,7 +7,6 @@ dll {
 INCLUDEPATH += $$PWD
 QT += network
 
-
 win32-msvc* {
     # disable warnings caused by botan headers
     QMAKE_CXXFLAGS += -wd4250 -wd4290
diff --git a/src/libs/utils/utils.pro b/src/libs/utils/utils.pro
index f77c4b08352c130242c97c6611309df1963e419f..f42fec090c31c0aec713e1df438dcefe68c7f9ea 100644
--- a/src/libs/utils/utils.pro
+++ b/src/libs/utils/utils.pro
@@ -9,7 +9,13 @@ include(utils_dependencies.pri)
 
 include(utils-lib.pri)
 # Needed for QtCore/private/qwineventnotifier_p.h
-win32:include(../../private_headers.pri)
+win32 {
+    greaterThan(QT_MAJOR_VERSION, 4) {
+        QT += core-private
+    } else {
+        include(../../private_headers.pri)
+    }
+}
 
 HEADERS += \
     proxyaction.h
diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro
index dd65b38ceec25df46d1baac4cfb5129f6f7fa3ac..c65054df867b6cbf93c1ab19da3c42e3e45ba896 100644
--- a/src/plugins/coreplugin/coreplugin.pro
+++ b/src/plugins/coreplugin/coreplugin.pro
@@ -4,6 +4,8 @@ DEFINES += CORE_LIBRARY
 QT += network \
     script \
     sql
+greaterThan(QT_MAJOR_VERSION, 4): QT += printsupport
+
 CONFIG += help
 include(../../qtcreatorplugin.pri)
 include(../../libs/utils/utils.pri)
diff --git a/src/plugins/debugger/lldb/guest/qtcreator-lldb.pro b/src/plugins/debugger/lldb/guest/qtcreator-lldb.pro
index 55688aad53934a610a41271bed70a816c5c2ffae..847e31140c974a58a26bde70a93aa404f0b1534d 100644
--- a/src/plugins/debugger/lldb/guest/qtcreator-lldb.pro
+++ b/src/plugins/debugger/lldb/guest/qtcreator-lldb.pro
@@ -3,6 +3,8 @@ WITH_LLDB = $$(WITH_LLDB)
 !macx: error (This can only be built on mac)
 !exists($${WITH_LLDB}/include/lldb/lldb-enumerations.h): error(please see the README for build instructions)
 
+QT = core network
+
 include(../../../../../qtcreator.pri)
 TEMPLATE = app
 CONFIG  -= app_bundle
@@ -12,8 +14,6 @@ DEPENDPATH += . .. ../.. ../../..  ../../../../libs
 INCLUDEPATH += . .. ../.. ../../.. ../../../../libs
 DESTDIR  = $$IDE_LIBEXEC_PATH
 
-QT = core network
-
 MOC_DIR=.tmp
 OBJECTS_DIR=.tmp
 
diff --git a/src/plugins/designer/designer.pro b/src/plugins/designer/designer.pro
index 21559fdbea1ea1486e4f6e36cc3559b7c4659a5e..aafd3c8fc2026b1230fe99cc1b4f2ab06971239c 100644
--- a/src/plugins/designer/designer.pro
+++ b/src/plugins/designer/designer.pro
@@ -13,6 +13,7 @@ minQtVersion(5, 0, 0) {
     CONFIG += designer
 #   -- Fixme: Make tools available
     INCLUDEPATH += $$QMAKE_INCDIR_QT/../../qttools/include
+    QT += printsupport
 } else {
     # -- figure out shared dir location
     !exists($$[QT_INSTALL_HEADERS]/QtDesigner/private/qdesigner_integration_p.h) {
diff --git a/src/plugins/help/help.pro b/src/plugins/help/help.pro
index c5616d2df1582b980255ef99d067b69fbc02599a..af2cbbeab07469bbfa301acefba67445ac6992e0 100644
--- a/src/plugins/help/help.pro
+++ b/src/plugins/help/help.pro
@@ -1,6 +1,11 @@
 TEMPLATE = lib
 TARGET = Help
+
 QT += network
+greaterThan(QT_MAJOR_VERSION, 4) {
+    QT += printsupport
+    DEFINES += QT_NO_WEBKIT
+}
 
 INCLUDEPATH += $$PWD
 
diff --git a/src/plugins/qmlprofiler/qmlprofiler.pro b/src/plugins/qmlprofiler/qmlprofiler.pro
index 533fe433f0950dabc182ec5eac83fc7ae99a4b26..88b732031c0bd0297167c13376a1bf356dc43b64 100644
--- a/src/plugins/qmlprofiler/qmlprofiler.pro
+++ b/src/plugins/qmlprofiler/qmlprofiler.pro
@@ -3,6 +3,8 @@ TARGET = QmlProfiler
 
 DEFINES += PROFILER_LIBRARY
 
+QT += network script declarative
+
 include(../../qtcreatorplugin.pri)
 include(../../plugins/coreplugin/coreplugin.pri)
 include(../../plugins/analyzerbase/analyzerbase.pri)
@@ -12,8 +14,6 @@ include(../../plugins/remotelinux/remotelinux.pri)
 include(../../libs/qmljsdebugclient/qmljsdebugclient.pri)
 include(../../libs/extensionsystem/extensionsystem.pri)
 
-QT += network script declarative
-
 include(canvas/canvas.pri)
 
 SOURCES += \
diff --git a/src/plugins/texteditor/texteditor.pro b/src/plugins/texteditor/texteditor.pro
index afe80956140c60989cd27af0f8ccd5bc107ddd25..56d8547756bf61b1040893d6490534ea9ead132c 100644
--- a/src/plugins/texteditor/texteditor.pro
+++ b/src/plugins/texteditor/texteditor.pro
@@ -2,6 +2,7 @@ TEMPLATE = lib
 TARGET = TextEditor
 DEFINES += TEXTEDITOR_LIBRARY
 QT += xml network
+greaterThan(QT_MAJOR_VERSION, 4): QT += printsupport
 include(../../qtcreatorplugin.pri)
 include(texteditor_dependencies.pri)
 INCLUDEPATH += generichighlighter \
diff --git a/src/shared/qtsingleapplication/qtsingleapplication.pri b/src/shared/qtsingleapplication/qtsingleapplication.pri
index f6d84626191936dec8b8d00d2f5fed717f34ca91..c807763dce01e2aa6d987b302bd75a1afa3a2f6b 100644
--- a/src/shared/qtsingleapplication/qtsingleapplication.pri
+++ b/src/shared/qtsingleapplication/qtsingleapplication.pri
@@ -4,6 +4,7 @@ HEADERS		+= $$PWD/qtsingleapplication.h $$PWD/qtlocalpeer.h
 SOURCES		+= $$PWD/qtsingleapplication.cpp $$PWD/qtlocalpeer.cpp
 
 QT *= network
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
 gotqtlockedfile = $$find(HEADERS, .*qtlockedfile.h)
 isEmpty(gotqtlockedfile):include(../qtlockedfile/qtlockedfile.pri)
diff --git a/src/shared/symbianutils/symbianutils.pri b/src/shared/symbianutils/symbianutils.pri
index 0eba41dd0b39f9644e55a0b60104062cd7f8f60a..0bcddde98123596488b7e85a9215caa8c558c9d1 100644
--- a/src/shared/symbianutils/symbianutils.pri
+++ b/src/shared/symbianutils/symbianutils.pri
@@ -1,7 +1,13 @@
 INCLUDEPATH *= $$PWD
 
 QT += network
-win32:include(../../private_headers.pri)
+win32 {
+    greaterThan(QT_MAJOR_VERSION, 4) {
+        QT += core-private
+    } else {
+        include(../../private_headers.pri)
+    }
+}
 
 # Input
 HEADERS += $$PWD/symbianutils_global.h \
diff --git a/src/tools/qmlprofilertool/qmlprofilertool.pro b/src/tools/qmlprofilertool/qmlprofilertool.pro
index 875c6ce1edaca3c3162cf7aff2361d29576463dd..df398ac04c78078270b4a1b13b58ba6791f084cc 100644
--- a/src/tools/qmlprofilertool/qmlprofilertool.pro
+++ b/src/tools/qmlprofilertool/qmlprofilertool.pro
@@ -1,3 +1,4 @@
+QT       = core
 include(../../../qtcreator.pri)
 include(../../rpath.pri)
 
@@ -5,7 +6,6 @@ TEMPLATE = app
 TARGET   = qmlprofiler
 DESTDIR = $$IDE_BIN_PATH
 
-QT       = core
 CONFIG   += console
 CONFIG   -= app_bundle
 
diff --git a/src/tools/qtcdebugger/qtcdebugger.pro b/src/tools/qtcdebugger/qtcdebugger.pro
index f7ae016d0cd978597aa334ceeb9a015db7a38cc4..984ace1885565ead27c8432f14a567de53a4db99 100644
--- a/src/tools/qtcdebugger/qtcdebugger.pro
+++ b/src/tools/qtcdebugger/qtcdebugger.pro
@@ -1,5 +1,5 @@
 include(../../shared/registryaccess/registryaccess.pri)
-
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 TARGET = qtcdebugger
 TEMPLATE = app
 SOURCES += main.cpp
diff --git a/src/tools/qtpromaker/qtpromaker.pro b/src/tools/qtpromaker/qtpromaker.pro
index 9a92bd5b8267cdc34f01998e5eb43d9540aa1146..8dacfd5eede0408a52168c37d34576fb9377c2be 100644
--- a/src/tools/qtpromaker/qtpromaker.pro
+++ b/src/tools/qtpromaker/qtpromaker.pro
@@ -1,11 +1,11 @@
+QT        -= gui
+
 include(../../../qtcreator.pri)
 
 TEMPLATE  = app
 TARGET    = qtpromaker
 DESTDIR   = $$IDE_LIBEXEC_PATH
 
-QT        -= gui
-
 CONFIG    += console warn_on
 CONFIG    -= app_bundle
 
diff --git a/tests/auto/aggregation/aggregation.pro b/tests/auto/aggregation/aggregation.pro
index 5e58d7e57c394e34032742d4e8cc50a5badda06d..6ba9d92b06346fc11e39a6df3ed8096e599d133f 100644
--- a/tests/auto/aggregation/aggregation.pro
+++ b/tests/auto/aggregation/aggregation.pro
@@ -1,3 +1,4 @@
+QT -= gui
 include(../qttest.pri)
 INCLUDEPATH += $$IDE_SOURCE_TREE/src/libs/aggregation
 include($$IDE_SOURCE_TREE/src/libs/aggregation/aggregation.pri)
diff --git a/tests/auto/debugger/dumpers.pro b/tests/auto/debugger/dumpers.pro
index 96ba21109f676d599dd214d2819126ba2d741565..c63d5a8e3d2be06e1f37b854732933fd1acf90aa 100644
--- a/tests/auto/debugger/dumpers.pro
+++ b/tests/auto/debugger/dumpers.pro
@@ -1,3 +1,4 @@
+greaterThan(QT_MAJOR_VERSION, 4): QT += core-private
 include(../qttest.pri)
 include($$IDE_SOURCE_TREE/src/libs/symbianutils/symbianutils.pri)
 include($$IDE_SOURCE_TREE/src/shared/json/json.pri)
diff --git a/tests/auto/profilewriter/profilewriter.pro b/tests/auto/profilewriter/profilewriter.pro
index 8785bc733104d44fd8890fe371ca28e6336d8c76..ceefde81fc1b5f86b76168c62e1e24f0fb2acc25 100644
--- a/tests/auto/profilewriter/profilewriter.pro
+++ b/tests/auto/profilewriter/profilewriter.pro
@@ -1,6 +1,7 @@
+QT -= gui
+
 include(../qttest.pri)
 include(../../../src/shared/proparser/proparser.pri)
 
 SOURCES += \
     tst_profilewriter.cpp
-QT -= gui
diff --git a/tests/manual/plain-cplusplus/plain-cplusplus.pro b/tests/manual/plain-cplusplus/plain-cplusplus.pro
index f6b206854dc675326e59bdfde468344bab8125ae..d7466cbdfed8118fda228a89140631ce00d0ca0c 100644
--- a/tests/manual/plain-cplusplus/plain-cplusplus.pro
+++ b/tests/manual/plain-cplusplus/plain-cplusplus.pro
@@ -1,4 +1,5 @@
 QT -= core gui
+greaterThan(QT_MAJOR_VERSION, 4):QT += widgets
 TARGET = plain-c++
 DEFINES += CPLUSPLUS_WITHOUT_QT
 
diff --git a/tests/manual/ssh/ssh.pri b/tests/manual/ssh/ssh.pri
index 8a8bb6a95be6ee2486f4b91bdaec8f744a1ba827..739d298ed7fb553312850e152201c9a260199e74 100644
--- a/tests/manual/ssh/ssh.pri
+++ b/tests/manual/ssh/ssh.pri
@@ -1,3 +1,5 @@
+QT       = core
+
 include (../../../qtcreator.pri)
 include (../../../src/plugins/coreplugin/coreplugin.pri)
 
@@ -11,8 +13,6 @@ unix {
     QMAKE_LFLAGS += -Wl,-rpath,\"$$IDE_PLUGIN_PATH/Nokia\"
 }
 
-QT       += core
-QT       -= gui
 CONFIG   += console
 CONFIG   -= app_bundle
 TEMPLATE = app
diff --git a/tests/tools/codaclient/codaclient.pro b/tests/tools/codaclient/codaclient.pro
index 0682df39a2b161ffa4f03ecc358ebe7c653c122e..4aeebeec8806e1b547b5952e94830b79c24a64e9 100644
--- a/tests/tools/codaclient/codaclient.pro
+++ b/tests/tools/codaclient/codaclient.pro
@@ -1,9 +1,10 @@
 DEFINES += SYMBIANUTILS_INCLUDE_PRI
 
+QT += network
+
 include(../../../qtcreator.pri)
 include(../../../src/shared/symbianutils/symbianutils.pri)
 
-QT       += core gui network
 TARGET = codaclient
 TEMPLATE = app
 CONFIG += console
diff --git a/tests/tools/qml-ast2dot/qml-ast2dot.pro b/tests/tools/qml-ast2dot/qml-ast2dot.pro
index f43764d3ccd8215cd22000611ab7953e53080d8c..733fd8c60e037cd9b18118175483145a56137bf9 100644
--- a/tests/tools/qml-ast2dot/qml-ast2dot.pro
+++ b/tests/tools/qml-ast2dot/qml-ast2dot.pro
@@ -1,5 +1,5 @@
-include(../../../qtcreator.pri)
 QT = core gui
+include(../../../qtcreator.pri)
 macx:CONFIG -= app_bundle
 TARGET = qml-ast2dot