The QMakeEvaluator uses it's own more accurate version of
isAbsolutePath. If we pass in a path that qt thinks is
absolute, e.g. "C:dev", but the qmake evaluator disagrees,
creator crashes. Import these functions from the qmake
evaluator into Utils::FileUtils and use them to prepare
the builddirectory.
Task-number: QTCREATORBUG-12034
Change-Id: Ida28688558f3186db25e3ab73bd39cabc91c1ff0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
While it is not possible to create a qmake kit without qt, the qt
version might become invalid and be removed.
Change-Id: I99484c86d731ab5a47bff9bb1958158504617004
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
On ios qmake is called recursively and the second call with a different
spec (macx-xcode instead of macx-ios-clang) which contains the
correct build settings (includes, compiler flags) as ios builds with
xcode.
macx-ios-clang just creates supporting makefiles, and to avoid being
slow does not evaluate everything, and contains misleading information
(that is never used), whereas macx-xcode correctly evaluates the
the variables and generates the xcodeproject that is actually used to
build the application.
It is important to override only for the creator evaluator, and not
the qmake buildstep used to build the app (as we use the makefiles).
Task-number: QTCREATORBUG-11908
Change-Id: I06d569de16f934fca5e104a8da727a3557a4c2e3
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Currently ModelManager contains lot logic, but as it sits in QmlJSTools
it is not possible to use it in standalone tests.
Moving most of the logic to ModelManagerInterface (and cleanup)
to allow better testing, and refactoring.
This introduces a dependency of the qmljs lib on the cplusplus lib
Also a (small) part of the CppTool::ModelManagerInterface has been
moved to CPlusPlus::CppModelManagerBase to remove the dependency on
CppTools to gather the Qml types exposed from C++.
Change-Id: Icad7fe96dfd0f1a2b1058d82bd98c77c40aa5e9d
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
So we can ignore possibly problematic toolchain-defines, while can still
unconditionally apply project-defines.
Change-Id: I7cb96f35a963d080011fe888ef71bfc098dd33ef
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
There's no target if the project is in the parsing without configuration
state.
Change-Id: Id21e2ded5b634253267e956accc27715e6562941
Reviewed-by: Daniel Teske <daniel.teske@digia.com>