Commit Graph

142 Commits

Author SHA1 Message Date
Tobias Hunger
d2adc30335 BuildConfigurationFactory: Refactor code
Refactor the code of the build configuration factories. The idea is to
generalize the code so much that we can allow plugins to install
custom build configuration factories for the platforms they support.

To support this use case the following changes where done here:
 * BuildInfo class was introduced to describe one build configuration that
   can be created by a factory.
 * Factories report a list of BuildInfo to describe what they can produce.
   This fixes the need for factories to implicitly create one buildconfiguration
   and then create another one 'officially' to support debug and release build
   configurations to be set up for projects.
 * Do no longer work around factories to create build configurations.

Change-Id: Ic372e4a9b5c582633b467d130538948472b89d91
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-09-17 12:00:01 +02:00
hjk
ad58c2bb44 BuildManager: apply 'static' pattern
Change-Id: I00bb591c027a22088d5f1feedc84aa28523dcca2
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-05 15:37:43 +02:00
Tobias Hunger
95859289b8 KitManager: Use static API as other singletons do
Change-Id: Ia49c6552a5aae72870687ef9c64f2642fbe24155
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-21 16:55:16 +02:00
Tobias Hunger
5422b2c4da Introduce Project::projectFilePath()
Use it instead of retrieving this information from the document.

Change-Id: I809fcb2daf59021cf503c371a5d40d75d7448796
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-01 11:42:41 +02:00
Eike Ziller
dd43d9908f Rename IDocument::fileName --> filePath
That is what it actually is, wrt how Qt API calls it.

Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 13:51:42 +02:00
Leena Miettinen
41411165ba Doc: use standard wording in \brief commands
QDoc does some magic with the \class and \namespaces
and \brief commands, so the following wording must be used:
"The xxx class yyy ..."

Change-Id: Id231f30e8464898b776888d5423523de404aae34
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-20 11:22:47 +02:00
Tobias Hunger
d389c45b1b Allow a project to opt-out of the normal deployment configuration
Even if we supported several deployment factories, we will need a way
for projects to say that the normal deployment will not work for them.

Change-Id: I6d42ef22a8ff50cc6f2ec3307f2c1d3f2faf4ef9
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-13 14:06:13 +02:00
Tobias Hunger
aff2518bd7 ProjectManagers: Update project languages based on data sent to the codemodel
Change-Id: Iecf61f66389fff6f3995c4f4bc893ffd190c50e6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-10 15:30:17 +02:00
Tobias Hunger
4cc9592c02 ProjectExplorer: Update context whenever project language/context changes
Change-Id: I3bd68518f8aab50e10353b7664e81f6d6783c6cc
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-10 10:29:54 +02:00
Friedemann Kleint
92207c96b7 Clean headers in ProjectExplorer.
Change-Id: If61a8a91d2a39c5c97974a5bfcef91892b68d3f1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-26 12:37:29 +01:00
Aurindam Jana
5cf11e2bbd Qml Debugging: Default option for Qt Quick application
Qt Quick applications should have Qml Debugging enabled
by default.

Task-number: QTCREATORBUG-8208
Change-Id: I794249567b15071098f0ac8ba5f2a8e5f2be4ffb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-02-20 21:03:23 +01: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
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 10:48:18 +01:00
Daniel Teske
e08b38ffd6 Move Project::subConfigWidgets to BuildConfiguration
Change-Id: Idf58ebbb02e9cd0ab4ff7e74fbed17250e274693
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-16 14:40:00 +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
Eike Ziller
68c796e244 Merge origin/2.6
Conflicts:
	src/libs/utils/fileutils.cpp
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h
	src/plugins/cmakeprojectmanager/cmakeproject.cpp
	src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
	src/plugins/cmakeprojectmanager/makestep.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: I153295bad2d97609d96d28945e9f942c5b46b2da
2012-10-05 20:51:31 +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
Daniel Teske
9de676ce03 CMake and Kits: Fix interaction between them
On initial run we offer the user a choice between all the kits, which
are compatible with the cached generator. After the initial run, the
user can't change kits nor generators anymore.
Except if the builds into a new directory or adds a buildconfiguration,
then the user can choose between generators but not kits.

Task-number: QTCREATORBUG-7940
Task-number: QTCREATORBUG-7928

Change-Id: I9b663435cd2e021f7fe08379c1c487a6aebe8976
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
2012-10-05 12:17:03 +02:00
Orgad Shaneh
614bb33589 qbs files: Consolidate includePaths in QtcLibrary and QtcPlugin
Avoid using "." as includePath when it is unneeded

Change-Id: I9bc6f4ebe50409f49782520033fd5f098aed10d0
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2012-10-05 10:18:56 +02:00
Eike Ziller
db4311d5b5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	dist/gdb/Makefile.osx
	src/libs/qmldebug/qmldebug.qbs
	src/plugins/android/androidsettingswidget.cpp

Change-Id: I85627130b575f7d08f416dea52031fa72019b217
2012-10-04 12:23:39 +02:00
Orgad Shaneh
e834d75b04 Yet another s/profile/kit change
Mostly variable names, one string

Change-Id: I9d44cba8ade9266303fe7695b8bc93647710b71d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-09-28 10:00:23 +02:00
Eike Ziller
a55d47544a Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.qbp
	src/plugins/qtsupport/baseqtversion.cpp
	src/tools/tools.pro

Change-Id: I43c391328ae747b3dc566f9db2384fedc1a6d0a5
2012-09-26 10:01:04 +02:00
Tobias Hunger
78660abd52 Remove useless code
Kit names are unique already, no need to try and make them more
unique:-)

Change-Id: I315387808aec790b85ee301f22984eda81608467
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-09-25 13:39:20 +02:00
Peter Kümmel
f21a408b51 Setter: get argument by const reference
Without the const QVariant can't be constructed inline.

Change-Id: I80ff9eb677361dca2fd104ef85facf7b69e580d7
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-09-24 16:54:49 +02:00
Daniel Teske
a8d0b04f49 Show incompatible kits in Add Kit
And implement a tooltip for them

Task-number: QTCREATORBUG-7870
Change-Id: I4975dd24ca2b619ebcbd0393f97311590ed4930f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-21 15:57:44 +02:00
Tobias Hunger
e77bb8af04 Handle non-qmake projects without kits
Make it possible to add kits again after all kits were removed
from a non qmake project.

Task-number: QTCREATORBUG-7814
Change-Id: I38967cd4c106b95288b7020fe325d8cfe2688a7c
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-07 14:20:48 +02:00
Tobias Hunger
8ba422d07c s/profile/kit/
* Rename profiles to kits.
* Update some strings:
   * projects mode has a Kits tab, not a Targets tab.
   * " Settings" was dropped from the sub-tabs of the Kits tab
   * menu entry "Build/Open Build/Run Target Selector" was renamed
     to "Build/Open Build and Run Kits Selector".
   * Use "Kit" instead of "Target" in miniprojecttargetselector.
     (The class was not renamed as it does indeed select targets,
      not kits)

Change-Id: I0727e086e2dfa0e8aaaf89fdc6f2e3596c7a4314
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-09-04 15:24:25 +02:00
Tobias Hunger
96d8009693 Fix saving of xml files
Do not save XML config files (profiles.xml, toolchains.xml, etc.)
if the file has not changed.

Change-Id: I5f0dea374b33a05e7c428f4031d53c83d92de595
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-24 15:48:40 +02:00
Daniel Teske
36f6c02f1c Remove evaluateBuildSystem signal
It adds almost nothing and introduced some bugs.
This fixes:
Double evaluation in cmakeproject on build directory changes.
Wrong runconfiguration update in cmake for set_target_properties(target
PROPERTIES OUTPUT_NAME [..]) changes.

Unecessary runconfiguration removal in AutoTools and Generic projectmanager.

Reevaluation of .pro files on changing the active runconfiguration or deploy
configuration.

Task-number: QTCREATORBUG-7723
Task-number: QTCREATORBUG-7761

Change-Id: I50249b186917cd3a4f399f187f09ac8428ab6f9e
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-08-24 12:13:48 +02:00
Daniel Teske
8d8ab020b1 Make buildDirectoryInitialized a Qt4Project specific signal again
And fix it to the old behaviour while at it.

Change-Id: Ifd786e085c621fb3cd59b98cc665d9e3c7fcce51
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-08-24 12:13:36 +02:00
Tobias Hunger
cac2819838 Fix crashes when no default profile is set
* Handle 0 when calling createTarget to avoid the crashes in the first place
* Do not try to create/add targets for 0 profiles to avoid creator writing
  a warning to the console
* Fix possible crashes in debugger when no default profile is set.

Task-number: QTCREATORBUG-7695
Change-Id: I9afc8e29c8b859ad078dad794ef5017168daac78
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-08-13 14:22:46 +02:00
Tobias Hunger
918c27002b Fix importing of .user files
Task-number: QTCREATORBUG-7654
Change-Id: Ie22930861f843acb9e765423d72b23445cbe48e4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-08-08 11:56: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
hjk
e9f5d047bc projectexplorer: literal style
Change-Id: I8e762bb2b0428e70025f801dfe169faef5139a91
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-29 09:13:10 +02:00
Tobias Hunger
88d2efcbeb Whitespace Changes
Change-Id: I5cafe8a659090d7e6f7afeeac0c103f98085bda3
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-06-21 12:08:21 +02:00
Tobias Hunger
2431456216 Profile introduction
Introduce Profiles to store sets of values that describe a system/device.

These profiles are held by a target, getting rid of much of the information
stored in the Build-/Run-/DeployConfigurations, greatly simplifying those.

This is a squash of the wip/profile branch which has been on gerrit for a
while, rebased to current master.

Change-Id: I25956c8dd4d1962b2134bfaa8a8076ae3909460f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-06-21 12:08:12 +02:00
Eike Ziller
e3c354d8f2 Make PluginManager mostly static.
Change-Id: Ib938aa4999c7c418a82304c5cca2e8748ef9d228
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-19 16:11:40 +02:00
Tobias Hunger
75ca41be18 Build fix
Change-Id: I4a2ff7292d7b14017d1528e6aeaa68a77b906178
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-04-25 13:13:48 +02:00
Tobias Hunger
df5dab6382 Use Core::Id in project-related objects
Use Core::Id for all the project related objects in favor of plain
QStrings.

Change-Id: I790ab40cb29899efdb49c413a77609486f52e683
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-25 11:49:19 +02:00
Tobias Hunger
352a8f0528 Fix build time warning
Change-Id: I0aa1fa59512d7376f7884bd36840279c32413bc5
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-03-12 17:17:00 +01:00
Daniel Teske
6f45ec97f8 Automatically configure examples opened from the welcome page.
Each example can now provide a list of platforms by the examples manifest
.xml file. This list can control the target configuration of the example
when it is opened in the welcomepage.

Change-Id: I893230fd2850b7a1272db71a7f589044d52041d1
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-09 15:28:28 +01:00
Eike Ziller
d66acb51d0 Rename IFile->IDocument and FileManager->DocumentManager
And adapt the other API respectively.

Change-Id: I1e04e555409be09242db6890f9e013396f83aeed
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-20 13:32:49 +01:00
Daniel Teske
e3d14f7c39 Make Open Project wizard skippable
Task-Nr: QTCREATORBUG-6063

Change-Id: Ieace3e9e68b4e0342c35ac7c279f4b0b61076419
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-02-03 09:36:46 +01:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
Daniel Teske
a082365d65 Fix crash on removing targets
Reported on irc.

Change-Id: I9e9911fff70c999158b941ab16918af03a51c728
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2011-12-06 15:33:42 +01:00
Daniel Teske
8321ae2f56 Project::removeTarget add missing return tru
Change-Id: Ifcf42827596fed48c9bf4c5f25910a586ebc18ef
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2011-11-03 14:47:37 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Daniel Teske
e202e4b8e0 Fix various crashes
Task-Number: QTCREATORBUG-6365

Change-Id: I19a200e3c811eef83d591f6eacca3e48eb0fba8f
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2011-10-31 12:49:06 +01:00
Leandro Melo
9433ad7d76 ProjectExplorer: Rename userfileacessor.* to settingsacessor.*
So the file name matches the class names. Continuing the series
from the previous commit...

Change-Id: I86460f553371bdb09c2b404079f4601b1f25cf42
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt-project.org/5082
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-09-26 16:14:32 +02:00