Commit Graph

85 Commits

Author SHA1 Message Date
Alessandro Portale
f96feadad0 Fix missing overrides and redundant virtual
Change-Id: Id2a247b6032602c2295d928067c2462d3f9b5221
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-11-14 14:27:45 +00:00
Christian Kandeler
fca94a8366 qbs build: Fix manual tests
- Remove dependency on project.withAutotests by adding local
{Qt,Cpp}Application overrides that alias QtcManualTest. This way, the
respective products are a QtcManualTest when inside Qt Creator, while
also working outside the source tree.
- Rename QtcManualtest to QtcManualTest. (The reason QtcAutotest is not
camel-cased is because "autotest" is a single word.)
- Plus some minor clean-ups.

Change-Id: Idd77191f0b433d6d7443c639eebda383ab110082
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-20 10:22:21 +00:00
hjk
c7884a2b17 Qmake: Enhance remote parsing
When parsing remote .pro files the parsers needs to pretend it runs
on the remote device.

All internal data are now "local on the remote", so that string
manipulation in .pro files "just works", and a 'device root'
string is passed around to relevant functions which then use
it to construct FilePath::toFSPathString()-style paths that
our custom FSEngineImpl can then map to the real device.

Remote $$system() calls are intercepted by the local parser and
redirected using the usual QtcProcess mechanims.

Quite a bit of the ProParser needed adjustments, so there's some
potential for regression.

Task-number: QTCREATORBUG-28242
Task-number: QTCREATORBUG-28161
Task-number: QTCREATORBUG-28355
Change-Id: I6100e7aca4e1db35f5e9689004110aab57e2c595
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-01-10 12:02:23 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
Eike Ziller
55fa109b59 CMake build: Use version-less Qt targets
Since we do not support Qt < 5.15 anymore, and as a first step
for getting rid of our special FindQt5.cmake.

Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-01-05 10:13:16 +00:00
Artem Sokolovskii
a5bee6e3ae tests: Remove foreach usage
Task-number: QTCREATORBUG-27464
Change-Id: I0e42da9b04793be959ad050fdecc0c78c98d9fcd
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-01-03 10:53:15 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Jarek Kobus
ebd0dd6ebc Drop Qt5: Manual tests: Remove code below Qt 6.0.0
Change-Id: I87e267415ec84001ff594b3900ce8be4f0cadd73
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-07-26 16:52:02 +00:00
Jarek Kobus
db3cd00232 Drop Qt5: Remove porting.h
Checked also plugins in tqtc-qtc-super and in qtc-super.

Change-Id: I3e5b114a49e26ae52b71c11ef6a1f90264dd5a38
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-07-26 11:18:58 +00:00
Christian Stenger
1652be1310 Tests: Provide some cmake files for manual tests
Add another option to mark a test as manual and use this for some
existing.
Manual tests will not be added as a ctest, but they can still get
executed explicitly.
Beside this allow to use a condition when using add_qtc_test().

Change-Id: I03d5397db36c0a2c9ee506a4214ed68fae6ad6e7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-15 08:21:40 +00:00
Christian Stenger
b822b3f9e2 Tests: Provide qbs files for some manual tests
Change-Id: I6c5c839dc199379edaf4c43ae4d6a0ed6ebdf751
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-03 05:27:56 +00:00
Christian Stenger
d9f1421841 Manual test: Silence deprecation warning of proparser test with Qt6
Change-Id: I89fcc27e9d8f87fc35f677eea09a50ae3226a3a1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-02 10:58:22 +00:00
Christian Stenger
eff72258be ProParser: Fix compile of manual test
Amends 58d288b52.

Change-Id: I5c142b0ce30f7145db6a8d332c8f0617e2c99fe5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-15 08:32:20 +00:00
hjk
52b2ca55c9 Replace QT_USE_FAST_{OPERATOR_PLUS,CONCATENTION} by QT_USE_QSTRINGBUILDER
QT_USE_FAST_CONCATENATION doesn't do anything nowadays.

Using QT_USE_QSTRINGBUILDER is the same as QT_USE_FAST_OPERATOR_PLUS
for QStrings and enables more QStringBuilder use for QByteArrays.

Change-Id: Ibd297817c50d86661d47822799f989447249af1b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-08-07 12:45:03 +00:00
Christian Stenger
44a282396f Tests: Fix build with MSVC 2017
Change-Id: I252ec40b026719f6cd5446b61b63dfdbd20e8ae9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-06-07 10:35:52 +00:00
Andre Hartmann
82b22a552f QMake: Fix build with b884f6fdbc and BUILD_TESTS enabled
qchar.h: In member function ‘QMakeEvaluator::VisitReturn
    QMakeEvaluator::evaluateBuiltinConditional(
        int, const ProKey&, const ProStringList&)’:
qchar.h:562:5: error: ‘QChar::QChar(char)’ is private
     QChar(char c) Q_DECL_NOTHROW;

Change-Id: Idd25b20ecf68a2e801b73e916a5359ff3fc7a86f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-05 12:47:05 +00:00
Oswald Buddenhagen
1589ce3ce8 chuck sysroot handling out of ProFileEvaluator
qmake doesn't do anything with sysroots at this level, so this code
plain does not belong here.

sysrootification is used when resolving INCLUDEPATH, which is emulating
compiler behavior. this is done by higher-level code.

Task-number: QTCREATORBUG-11944
Change-Id: Ia25f0b6ef713e9809d974e3f3e49ba308b8c933f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-01 17:34:29 +00:00
Brett Stottlemyer
7f07ec41ab [test] Use command line in proparser
The test reads the command line, but skipped the commit.

Change-Id: If38a5fdd1ec129d77065bfd90403e21fea4eda6d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-11 12:41:12 +00:00
Tobias Hunger
954569387c Update License according to agreement with Free Qt Foundation
* Update license information in tests directory

Change-Id: I311441dd37d053ca3175e44b284258e232ee93e0
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 16:01:06 +00:00
Christian Stenger
b17fbfcd75 Tests: Fix compilation
Introduced with 33ad0f1031.

Change-Id: Icbee16c3e4e771a81e885d3daa3a5386960ecbd8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-07 15:57:18 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Oswald Buddenhagen
66802ef8bf implement simple VFS to support caching during project parsing
this tremendously speeds up loading of qt 5.1 based projects (including
qt itself) under mac os, as these look up the sdk dynamically, and use
caching to avoid doing that in every subproject.

Change-Id: I833253f81c3159056fab2ff888f293b36cc2ef56
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-04 15:42:13 +02:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Oswald Buddenhagen
475fe8ec8b move sysroot out of QMakeGlobals
it's a hack which is exclusive to ProFileEvaluator.

Change-Id: I86141dc8985330a8a1602ced002545a9eb0a646c
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 19:42:07 +02:00
Oswald Buddenhagen
00e9be4246 make messages from dynamic code tell a useful location
"(eval)" does not exactly help to find the error source.

Change-Id: Iecd03e6a4909ca6d7eab846844ca4415ebfa3429
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 17:56:24 +02:00
Oswald Buddenhagen
0ad234b691 add tracing facilities to evaluator
as other output code which is enabled only in full qmake mode, this
prints directly to the console.

Change-Id: I6a1578818512fa3b0773faf276a1d56881eb06d7
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-03 17:54:57 +02:00
Oswald Buddenhagen
07a7cad50b revamp command line argument parsing
the command line parser can be now integrated with a parser which
understands more options.

Change-Id: Ib9de352376b2f03dd466d577435f680702d1e2b9
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 17:54:01 +02:00
Oswald Buddenhagen
f35f55091d complain about missing input file
the parser explicitly excludes complaints about missing files (because
they are pretty common in cumulative mode), so we need to do it ourselves.

Change-Id: I3c36819ab7b26152271e4557b67fb36b0a595b60
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-28 14:37:41 +02:00
Oswald Buddenhagen
60e96cbff5 make use of ProFileEvaluator::value()
no need to duplicate the code

Change-Id: Icc27e028dbb97faf9e48aba11dd5749526ee1e9d
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-02 13:45:52 +02:00
Oswald Buddenhagen
187751f967 add $$shadowed() function
follow suit with qmake ...

Change-Id: Ic97576eaf74dfd58e8d8cd2f8034dac3963b92c4
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 16:42:39 +02:00
Oswald Buddenhagen
c6d640d3cd allow override of qmake executable in testreader
that way even a testreader built against qt 4 can use qt 5 qmake.

Change-Id: I55636dc22bd13cd7dcdff7381e4f0162592bb781
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-01 16:37:26 +02:00
Oswald Buddenhagen
a93e24fd0d implement qmake language and deprecation warnings
Change-Id: Ia5dd0c408ace4e779da898ffb60e9ca12a383225
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 16:09:49 +02:00
Oswald Buddenhagen
0af96c128a revamp message callbacks
instead of having a bazillion different callbacks, have only one with a
type parameter. the drain typically multiplexes all into one stream anyway.

Change-Id: I963daefc5a266c91334a4cc599570ed26b603d5d
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-01 16:09:33 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Oswald Buddenhagen
aca1c4bd50 introduce PROEVALUATOR_FULL #define
if this is enabled, the evaluator implements all functionality
necessary for qmake. without it, functionality which is unnecessary or
outright dangerous in qt creator or lupdate context is omitted.

Change-Id: I233cfa6daf2e4451f9f1d3d14711be2a7cfe4293
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-09 21:18:29 +02:00
Oswald Buddenhagen
0e6f6e3ca5 make $$QMAKE_QMAKE available to projects
not setting it outside the main project processing, as it's even less
likely to be needed there.

Change-Id: Ia7afe3a53bf0977d739bf23d7cd79e3a2aee8867
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:17:36 +02:00
Oswald Buddenhagen
41bf7c896b surround loading of spec with loading spec_pre.prf and spec_post.prf
follow suit with qmake ...

once we move currently builtin functionality to these feature files,
things would break with qt4 (which does not have them). consequently,
we provide our own fallback versions of them.

Change-Id: Ie318f3419d78214472835c41ec1388977f2e9269
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 13:00:00 +02:00
Oswald Buddenhagen
ac297f8e6b introduce QMakeHandler
this is QMakeEvaluatorHandler, but derived from QMakeParserHandler.
the idea is that the parser can be used stand-alone, while the evaluator
needs the parser as well.
we will need it in QMakeGlobals as well, so put it there, as that is the
most central place.

Change-Id: I6ee46c0e4b2e044bf3bfc6e4235b53525ddfc875
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:39:37 +02:00
Oswald Buddenhagen
b4f38671a2 move remainder of QMakeEvaluator to an own file
Change-Id: I09bf3ee41e08062e14a6810d8de036e1c246b0b5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:23:31 +02:00
Oswald Buddenhagen
7b3393918c move builtin qmake function implementations to separate file
the functions are still part of the same class, though.

Change-Id: I58a69d334ac9d1d53b5395d0b655895ffe18c7be
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:11:24 +02:00
Oswald Buddenhagen
c84fbe0455 move QMakeEvaluator declaration to an own file
Change-Id: Ifc13af5f5b8a2b497075027acfb7b621ab0514ad
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:06:40 +02:00
Oswald Buddenhagen
95dfa15a7c ProFileEvaluator::Private => QMakeEvaluator
more natural name. the ProFileEvaluator class itself is somewhat more
high-level, so it will remain named as it is. i'll move around the code
at a later point.

Change-Id: I03fa844d0109e281f3602b4781ac11c6f2954aa4
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:06:23 +02:00
Oswald Buddenhagen
888c187dd5 ProFileParser => QMakeParser
more natural name

Change-Id: I38d2a2fc785686aa5777afe41452b53f2c24adf8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:05:03 +02:00
Oswald Buddenhagen
24f24c4546 factor QMakeGlobals into an own file
Change-Id: I55d24be06fa78f70bad614a7125c3079c92ab8e5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:47 +02:00
Oswald Buddenhagen
37b2f88e27 ProFileOption => QMakeGlobals
more accurate class name

Change-Id: I4258b221727e79cc88d5f57dd1f6631ba0bba625
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:29 +02:00