Commit Graph

73 Commits

Author SHA1 Message Date
Oswald Buddenhagen
79be54ed8c replace env variable injection with pervasive expando support
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.
2010-11-17 13:19:08 +01:00
Oswald Buddenhagen
1e362b0f8b overhaul process argument handling
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
2010-11-17 13:19:07 +01:00
Friedemann Kleint
6510a749b7 ProjectExplorer: Move ToolChainType enumeration into separate Header.
Acked-By: dt
2010-11-01 14:25:24 +01:00
Bill King
9293453ced Merge branch '2.1'
Conflicts:
	tests/auto/fakevim/fakevim.pro
2010-10-12 10:01:27 +02:00
dt
eadd51fa75 Qt4ProjectBuildConfiguration: Handle env vars in working dir correctly.
Task-Nr: QTCREATORBUG-2618

Reviewed-By: hunger
2010-10-11 16:49:01 +02:00
Christian Kamm
b78c1ef6da Merge remote branch 'origin/2.1'
Conflicts:
	README
	doc/qt-html-templates.qdocconf
	doc/qtcreator.qdoc
	doc/qtcreator.qdocconf
	share/qtcreator/templates/wizards/qtcreatorplugin/MyPlugin.pluginspec
	src/app/Info.plist
	src/plugins/bineditor/BinEditor.pluginspec
	src/plugins/bookmarks/Bookmarks.pluginspec
	src/plugins/classview/ClassView.pluginspec
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec
	src/plugins/coreplugin/Core.pluginspec
	src/plugins/coreplugin/coreconstants.h
	src/plugins/cpaster/CodePaster.pluginspec
	src/plugins/cppeditor/CppEditor.pluginspec
	src/plugins/cpptools/CppTools.pluginspec
	src/plugins/cvs/CVS.pluginspec
	src/plugins/debugger/Debugger.pluginspec
	src/plugins/debugger/breakhandler.cpp
	src/plugins/designer/Designer.pluginspec
	src/plugins/fakevim/FakeVim.pluginspec
	src/plugins/find/Find.pluginspec
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec
	src/plugins/git/ScmGit.pluginspec
	src/plugins/helloworld/HelloWorld.pluginspec
	src/plugins/help/Help.pluginspec
	src/plugins/imageviewer/ImageViewer.pluginspec
	src/plugins/locator/Locator.pluginspec
	src/plugins/mercurial/Mercurial.pluginspec
	src/plugins/perforce/Perforce.pluginspec
	src/plugins/projectexplorer/ProjectExplorer.pluginspec
	src/plugins/qmldesigner/QmlDesigner.pluginspec
	src/plugins/qmljseditor/QmlJSEditor.pluginspec
	src/plugins/qmljsinspector/QmlJSInspector.pluginspec
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec
	src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec
	src/plugins/regexp/RegExp.pluginspec
	src/plugins/resourceeditor/ResourceEditor.pluginspec
	src/plugins/snippets/Snippets.pluginspec
	src/plugins/subversion/Subversion.pluginspec
	src/plugins/tasklist/TaskList.pluginspec
	src/plugins/texteditor/TextEditor.pluginspec
	src/plugins/vcsbase/VCSBase.pluginspec
	src/plugins/welcome/Welcome.pluginspec
	tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp
	tests/manual/fakevim/fakevim.pro
	tests/manual/ssh/errorhandling/main.cpp
2010-10-11 14:16:33 +02:00
dt
a36dc1d41e Qt4ProjectManager: Support Makefile variable
Pass on the makefile to make, check the right makefile for importing.

Task-Nr: QTCREATORBUG-102
2010-10-05 17:43:35 +02:00
dt
18697127a7 Qt4BuildConf.: Prevent creating BuildConfigurations with invalid Qts
Task-Nr: QTCREATORBUG-2598
2010-10-05 13:16:35 +02:00
Tobias Hunger
0a2a28ec47 Do not allow all WS names in Run-/Deploy-/BuildCOnfigs
Task-number: QTCREATORBUG-2584
2010-10-05 11:41:41 +02:00
Tobias Hunger
f5c044fe48 Move ProjectExplorer::Environment to Utils::Environment
Reviewed-by: dt
2010-09-23 13:40:26 +02:00
Tobias Hunger
747f750370 Set BUILDDIR and SOURCEDIR environment variables
Set BUILDDIR and SOURCEDIR in the build environment.

Reviewed-by: dt
2010-09-23 13:40:25 +02:00
Kai Koehne
4ab1c88ba0 QmlJSDebugger: Split library up into a debugger & observer part
This allows us to enable/disable the experimental observer, independent
from the core javascript-debugger functionality.

Reviewed-by: Christiaan Janssen
2010-09-22 15:44:48 +02:00
Kai Koehne
82f4e73c7b Qml Standalong App: Fix regression when debugging apps
Adapt Qt4ProjectManager to use QMLOBSERVER instead of QMLINSPECTOR
(got changed in commit a10b26920)
2010-09-16 17:04:52 +02:00
Leena Miettinen
0037296d70 Doc - Fix UI text capitalization to follow the KDE style guide.
Reviewed-by: dt
2010-09-15 10:30:51 +02:00
Tobias Hunger
d1c23f58a5 Preserve invalid Qt versions when loading a project
Now that we have 2.0 out we can be less strict when checking
project consistency when loading .user files.  The strictness
was necessary due to upgrading non-target projects to target
projects.

 * Allow for invalid Qt versions when loading a .user file that was not
   updated from the pre-target era.
 * Update the UI to show invalid Qt versions as invalid. Remove
   the Invalid version as soon as a valid one is imported.

This does preserve the buildsteps, too.
2010-09-13 18:17:51 +02:00
dt
9f68456b65 Give our Profile parser more information from the qmakestep
e.g. DEFINES+=bla on the qmakestep command line now work

Task-Nr: QTCREATORBUG-2091
2010-09-01 12:37:29 +02:00
dt
cce21d430d Don't run if the qmake arguments are just in a different order
The code is technically incorrect and easy to fool.
See the comment in the patch.
2010-08-30 16:47:34 +02:00
dt
82e137763e More optional debug output for import bc 2010-08-30 16:47:34 +02:00
dt
b68a57b23e Don't import QMLINSPECTOR_PATH qmake settings.
Task-Nr: QTCREATORBUG-2209
2010-08-30 16:47:34 +02:00
Tobias Hunger
8cd3b54949 Fix import of existing builds
* Report what kind of build we have in the tooltip
 * Create only debug/release configuration for debug/release
   configured directories
 * Create debug and release configuraions for debug_and_release
   configured directories
 * Add debug_and_release to options in QMakeStep UI
 * Do not add CONFIG+=debug/release to CONFIG+=debug_and_release builds
2010-08-16 17:53:34 +02:00
dt
bc28670a17 Fix always running of qmake 2010-08-11 15:39:59 +02:00
Tobias Hunger
ee4a04a20b Refactor deployment
* Add a DeployConfiguration class to hold settings related
   to deployment.
 * Add BuildStepsList to hold a list of buildsteps
 * Update BuildConfiguration to use BuildStepLists instead of
   manageing lists of buildsteps itself.
 * Update BuildManager to use BuildStepLists in its interfaces
 * Fix fallout introduced by API changes
 * Update .user file to new way of storing settings

Task-number: QTCREATORBUG-1427
Task-number: QTCREATORBUG-1428
Task-number: QTCREATORBUG-1811
Task-number: QTCREATORBUG-1930
2010-08-02 14:21:05 +02:00
dt
870da8e7e3 Make the build parser for custom build steps depend on the toolchain
The API addtition to BuildConfiguration of knowing of the default parser
is rather strange, but a necessary evil for this.

Reviewed-By: Thorbjorn

Task-Nr: QTCREATORBUG-514
2010-07-07 18:17:24 +02:00
Tobias Hunger
8ccbd0ec6b Rename StepType to BuildStep::Type
* Move and rename the enum
 * Add Q_ENUMS macro

Reviewed-by: dt
2010-07-06 18:36:30 +02:00
con
7d76940af7 Take the right sis package when using the Smart Installer flag. 2010-05-21 14:18:37 +02:00
dt
1d43d8988a Treat a empty shadow build directory as a default shadow build directory
Task-Nr: QTCREATORBUG-1164
2010-05-19 15:32:09 +02:00
dt
61e5ce374c Make Q4ProjecConfigWidget more robust
Task-Nr: QTCREATORBUG-1108
Task-Nr: TOOLS-339
2010-04-14 14:38:10 +02:00
Tobias Hunger
c5b5127be2 Disable shadow building when appropriate
Reviewed-by: dt
2010-04-08 18:15:16 +02:00
dt
83f5901b0a Set the toolchain type on setting a different qt version
Reviewed-By: hunger
2010-04-07 13:49:51 +02:00
Tobias Hunger
d8f8ef68a0 Rework buildconfiguration setup in targets
* Allow for a more controlled setup of buildconfigurations inside
   the targets.

Reviewed-by: dt
2010-03-26 13:56:29 +01:00
Tobias Hunger
092fd7c255 Enable shadow building by default for Qt4 projects
Reviewed-by: dt
2010-03-25 16:11:25 +01:00
Tobias Hunger
1ca8cb2397 Introduce method to access the project directory
... use it.

Reviewed-by: dt
2010-03-25 14:21:43 +01:00
Friedemann Kleint
f66df7b9a6 Header cleanup in ProjectExplorer and Qt4ProjectManager 2010-03-17 17:45:33 +01:00
con
d849652700 Start on a build step for creating symbian package. 2010-03-16 19:05:20 +01:00
dt
0d4fdd291a Use a type enum instead of duplicating functions between build and clean
That is e.g. buildSteps() and cleanSteps() --> steps(type)
2010-03-16 17:45:08 +01:00
Thorbjørn Lindeijer
2a93b5401d Move build environment customization down to BuildConfiguration
The functionality was duplicated between the Qt4 and CMake build
configurations and their configuration widgets. This change moves it
down to BuildConfiguration, in addition also making it available for the
Generic Project.

Also provides an upgrade path for the configuration.

Task-number: QTCREATOR-24
Reviewed-by: dt
Reviewed-by: Tobias Hunger
2010-03-12 13:01:04 +01:00
dt
ab8fc52d0b 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
2010-03-10 17:02:24 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Tobias Hunger
175b43ec43 Make default Qt version alrorithmn more strict
* Add qWarnings on failures.
2010-02-19 10:51:40 +01:00
Friedemann Kleint
7c9c99dcf0 Symbian/Linux: Enable building with makefile-based system.
- Autodetect SDK by environment variable EPOCROOT and qt directory
below.
- Environment::appendOrSet/prependOrSet: Avoid duplicate entries
- Rename toolchain enumeration value
- Adapt S60ToolChainMixin to new GnuPoc setup, provide routines for
  all required variables.
- RVCTToolChain: Make RVCT detection smarter (Check for RVCT<v1><v2>BIN
  variable). Set all required variables in case of RVCTToolChain/GnuPoc
- QtVersionManager: Detect toolchain and Qt version properly, make S60
  device run config accept toolchain.
- Modify S60DeviceRunControl to execute 'make sis'
- Modify S60Devices::detectQt...() to check for Qt installed into SDK
  first and symlink as fallback.
2010-02-17 17:38:48 +01:00
Tobias Hunger
efe3ac597a Default to not shadowbuilding
when not set to true in the .user-file.
2010-02-17 17:13:23 +01:00
Tobias Hunger
563983c4b0 Remove default Qt version entry
* Remove default Qt version from list of available versions
2010-02-17 17:13:21 +01:00
dt
3c99f02bcb Rename QMake to qmake since that's the official spelling. 2010-02-17 16:54:50 +01:00
Tobias Hunger
261966dbb7 Have qmakestep trigger the import label
* Do not use the BuildManager but have the qmakestep trigger
   the update via the target and project.

Reviewed-by: dt
2010-02-16 13:18:25 +01:00
Tobias Hunger
75abcda936 Use sane Qt version on import 2010-02-10 17:01:07 +01:00
Tobias Hunger
d1bdfcc363 Integrate target support
* Ease cross device development by introducing 'targets' which
   group build- and runsettings that are valid for this one target

 Most of the kudos for the code review go to dt. Con, thorbjorn,
 ckandler and others did also review parts of this patch.

Reviewed-by: dt
2010-02-09 16:57:37 +01:00
Friedemann Kleint
81f14bb270 Fix some code scanning issues.
QString: Use QChar/char where appropriate, do not use QString::null
2010-02-02 17:09:41 +01:00
Friedemann Kleint
2fd8b2d7ff Fix some code scanning issues.
QString: Use QChar where appropriate.
2010-02-01 12:43:56 +01:00
Tobias Hunger
788b294a30 Make project use toMap/fromMap to save state
* That is what everybody else is using now.

Reviewed-by: dt
2010-02-01 12:23:14 +01:00
Tobias Hunger
f923a561c3 Make use of ProjectConfiguration in RunConfigurations
Reviewed-by: dt
2010-02-01 12:23:13 +01:00