After this is done, QbsProjectManager/CMakeProjectManager will be able to
have full Qt support work without having to depend on Qt4ProjectManager.
It's should belong here.
Change-Id: I577d47cb8a40eb697aa862fbec36c56ff05004f0
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Almost(*) all of the symbian and maemo specific code is now theoretically
moveable to a separate plugin. Thus making it possible to implement
new targets in a plugin.
(*) Noteable missing is the qtversion, which needs to be split up
per target too.
Also fixes
Task-Nr: QTCREATORBUG-2440
Reviewed-By: hunger
Reviewed-By: ck
* Move the environment model code to utils and export it
* rename the environmenteditmodel files to environmentwidget
(which is the class they actually contain)
Reviewed-by: dt
do not inject SOURCEDIR and BUILDDIR into the environment of
build steps and run configurations any more.
instead, all custom executable paths, argument lists and working
directories now support the %{sourceDir} and %{buildDir} macros.
this approach is more elegant and more scalable.
get away from argument stringlists. instead, use native shell command
lines which support quoting/splitting, environment variable expansion
and redirections with well-understood semantics.
Task-number: QTCREATORBUG-542
Task-number: QTCREATORBUG-1564
There's a UI in qml/customexec/cmake/qmake run configs for choosing the
debugger languages (C++ and QML). The default for all except .qmlproject
is only C++, so default debugging behavior is the same. However, if the
user wants to do simultaneous debugging with two languages, or only
debug QML, they can select the languages from Run Settings and it will
be remembered.
Reviewed-by: hunger
* Enable support for this in all ProjectConfiguration items
(Targets, projects, BCs, DCs, RCs, etc.). This is nicer
than having custom code in individual configuraiton items.
Reviewed-by: dt
Using more *::Constants::ICON_* where it makes sense and
wrapping the file names into QLatin1String where they were
missing.
The increased usage of the ICON constants needed a few more
cross plugin includes of *constants.h, here and there.
I think that it is OK, since the dependencies were alredy there
icon resource wise.
Move link handling code to outputwindow from OutputFormatter
Move createOutputFormatter to the RunConfiguration
That makes it easier for Qt4RunConfiguration et all.
This also fixes that each time a runcontrol was rerun a new
OutputFormatter was created without deleting the old one, thus
increasing the memory usage.
This reverts commit b1a121c54f.
Accidentally pushed the linux icc parser before it was ready.
Conflicts:
src/plugins/qt4projectmanager/qtversionmanager.cpp
On windows when linking to a library via -L/some/path, the library is
found in /some/path while linking. But running that app fails, since it
can't find the library. We now adjust PATH to include all paths from
LIBS and thus the library is found.
This is a big change touching almost all of our .pro file parsing.
With this patch we only evaluate once exact for all needs and once
greedy for the filelist. That is the qt runconfigurations don't have own
evaluaters but reuse the project wide exact evaluation.
We reevaluate if the user changes the build directory, the qmake
buildconfiguration or the qmake arguments. That is if you open src.pro
(or projects.pro) of qt with a shadow build you still don't get all the
files, but after correcting the build directory, we reevaluate the .pro
files and find all files. So for a suitable definition of fixed, that
bug is now fixed.
We now get the exact defines of all .pro files instead of all defines for all
buildconfigurations. We still don't distinguish in which
.pro file a DEFINE is set. So the code model now knows about all the
defines set for the given configuration but not for which files it is
actually set. Also that includes all DEFINES set in .qmake.cache or the
mkspecs. This means all defines from .pro files should now work.
The intial loading is still synchronous. I haven't looked into it to
deeply, but it seems possible to make it also async.There are probably a
few issues which need to be solved fist.
Also due to the asynchronous nature of the code, the executable is
updated a few seconds after actually changing the build configuration