diff options
author | dt <qtc-committer@nokia.com> | 2010-03-10 16:55:37 +0100 |
---|---|---|
committer | dt <qtc-committer@nokia.com> | 2010-03-10 17:02:24 +0100 |
commit | ab8fc52d0bd654e4027a942a6ac16904a31f9494 (patch) | |
tree | 2b522277adabfa3ba5aae5dad81d9c645be1668a /src/plugins/qt4projectmanager/qt4runconfiguration.h | |
parent | 309163cef8424cd347cd0b2469ef7f4f3d5c76e6 (diff) | |
download | qt-creator-ab8fc52d0bd654e4027a942a6ac16904a31f9494.tar.gz |
Use exact and aysnc .pro file evaluate
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
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4runconfiguration.h')
-rw-r--r-- | src/plugins/qt4projectmanager/qt4runconfiguration.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.h b/src/plugins/qt4projectmanager/qt4runconfiguration.h index 3243a3f26b..9f23e25298 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.h +++ b/src/plugins/qt4projectmanager/qt4runconfiguration.h @@ -91,12 +91,7 @@ public: QVariantMap toMap() const; public slots: - // This function is called if: - // X the pro file changes - // X the active buildconfiguration changes - // X the qmake parameters change - // X the build directory changes - void invalidateCachedTargetInformation(); + void targetInformationChanged(); signals: void commandLineArgumentsChanged(const QString&); @@ -140,11 +135,8 @@ private: QString m_proFilePath; // Full path to the Application Pro File // Cached startup sub project information - QString m_executable; - QString m_workingDir; ProjectExplorer::LocalApplicationRunConfiguration::RunMode m_runMode; bool m_userSetName; - bool m_cachedTargetInformationValid; bool m_isUsingDyldImageSuffix; bool m_userSetWokingDirectory; QString m_userWorkingDirectory; |