Commit Graph

34 Commits

Author SHA1 Message Date
Tobias Hunger
b07f92abc9 QmakeProjectImporter: Split up import method
Split up the import method into several smaller methods. Call these
from ProjectImporter::import, which now contains the build system
independent parts, moving all the build system dependent code into
the smaller methods.

This will allow to reuse logic for cmake project import.

Change-Id: Idcd1d1daaab18ebcc581cc5aff3f20c7757c639b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-15 09:25:11 +00:00
Tobias Hunger
ffedf95ef5 ProjectImporter: Move logic to select preferred target into base class
That way the code can be reused in other importers later.

Change-Id: I6318f9c959b73b2af2692408b918eb1fab715137
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-15 07:55:38 +00:00
Tobias Hunger
6281d7c4c9 QtSupport: Introduce QtProjectImporter
Introduce a base class for importing Qt projects. This class handles
the handling of temporary Qt versions.

Use this in the QmakeProjectImporter.

Change-Id: I2e540f9bb75d607a68d1277db68243b04eee168f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-15 07:55:34 +00:00
Tobias Hunger
52326f1e82 ProjectImporter: Clean up APIs, move more code into Base class
Change-Id: Ida7aae846888efb3c9da456a83db5a90256bf7d5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-15 07:55:30 +00:00
Tobias Hunger
b8c83c45ac ProjectExplorer: Use Guard in favor of setIsUpdating
Change-Id: I4f8448205fe0f90d0b8554f0911e66aa74cbe9b5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-08-29 12:44:51 +00:00
Jake Petroules
f41b48ef5d Rename Abi::MacOS/GenericMacFlavor to DarwinOS/GenericDarwinFlavor
This makes clear that the ABI encompasses all Darwin platforms (macOS,
iOS, tvOS, watchOS) in the wake of the OS X to macOS rename, and would
have been more technically correct anyways since ABIs are far below the
"macOS" parts of our favorite desktop Unix operating system.

Change-Id: I16d1477f44ffe70e5d8cddd67199a1602ba6fd97
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-08-22 12:54:06 +00:00
Tobias Hunger
cb14fb0d71 Kits: Save several ToolChains per kit
BREAKS BACKWARD COMPATIBILITY OF TOOLCHAIN SETTINGS!

* Convert old ToolChainKitInformation to new version
* Store several toolchains in one kit (one per language)

Change-Id: Ia59a2ad067c57971ec34ce9b2e43758344443755
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-07-14 15:34:06 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Eike Ziller
79c27ec6f1 Avoid running qmake by using unsortedVersions
Use unsortedVersions() instead of versions() where possible, since
versions() sorts by version numbers, and therefore needs "qmake -query"
to have run.

Change-Id: I76a05f1647d2baacbd33829c6b3bf719a1c8dcbb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-23 14:48:55 +00:00
Tobias Hunger
aface7b1d6 Expand CurrentBuild:Type in the wizards
This was just unset before.

Task-number: QTCREATORBUG-15178
Change-Id: Ice66273e2ce9bc60bd8a96516f774201a7a95331
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-26 16:57:02 +00:00
Tobias Hunger
6346835740 BuildInfo: Add BuildConfiguration::BuildType
Remove QbsBuildInfo, which only adds the same information over
the normal BuildInfo.

Change QmakeBuildInfo to use the buildType as provided by
its base class.

Change-Id: Iddb86487c85893988f78bbfaf549823a19f13b5b
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-26 16:56:53 +00:00
Daniel Teske
fb1360cd31 Don't parse Makefiles without Command: line
Change-Id: Ied315fda07d2ae8910aca7ce232b01c5cdc36f0f
Task-number: QTCREATORBUG-14291
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-08-31 10:24:09 +00:00
Daniel Teske
eba7d8d196 QmakeProjectImporter: Slightly tweak spec handling
The removed code had actually no effect since it changed a variable that
was not used later. Since we are looking for a kit that has a identical
spec, there's no need to pass any spec in additional arguments.

Also on creating a temporary kit, don't set mkspec if it's the same
as the qt versions mkspec.

Change-Id: Ia37317a5b6fefa603106c8761279577271f32a7e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-08-31 10:23:58 +00:00
hjk
d972b3b091 QtSupport: Remove SimulatorQt
Unused for years.

Change-Id: I721068ecf18afb09fb928a348cbb5e8127a3dfc2
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-24 13:45:08 +00:00
Daniel Teske
71855e6bbc Fix crash with kits that have no toolchain
Change-Id: I3f041b9a7fe60ab5adf4ab3054f53713b78e1ab6
Task-number: QTCREATORBUG-14150
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
2015-03-17 11:34:46 +00:00
Robert Loehning
5930ded264 Compile fixes for MSVC2010
Change-Id: I9e72edad53eff88911d5ce4e9a26905a5393d411
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-12 10:25:30 +00:00
Daniel Teske
51e6fc9416 Fix importing creating additional kits on OS X
Extract the whole makefile parsing code into a separate class, to
make the code more manageable. Also fix some bugs on importing additional
flags like qt quick compiler or separate debug info.

Task-number: QTCREATORBUG-13947
Change-Id: Id04bff191c188f95230274d990b1676e9b2f419d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-03-11 16:02:40 +00:00
Tobias Hunger
655eed467e QmakeProjectManager: Fix typo in method name
Change-Id: I63a1ca0c9fd4ef1a6af758179e315fc7ec96eeb4
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-02-24 13:39:26 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
hjk
a7763fcfcb QmakeProject: Fix regression after 65dbd73a
Task-number: QTCREATORBUG-13323
Change-Id: Ic560cc563187740927ea475b0f1f6d5432384324
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-11 10:42:59 +01:00
hjk
65dbd73ae2 Clean up QmakeProjectImporter
Mostly namespaces, an unused variable, ...

Change-Id: Ia2b879873eae7cb25f796f6bcf18b10bf3de1ff6
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-10-24 09:58:54 +02:00
hjk
edc08ba2bc Move uses of ProjectMacroExpander closer to build configuration
All static functions, can live closer to related code.

Change-Id: I54c5680256c78f1d09b4bee3e8843b2f4350b75a
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-10-22 10:21:46 +02:00
Eike Ziller
ea27143239 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	src/libs/utils/ipaddresslineedit.cpp
	src/libs/utils/logging.h
	src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
	src/plugins/android/Android.pluginspec.in
	src/plugins/android/androiddeploystep.cpp
	src/plugins/android/androiddeploystep.h
	src/plugins/android/androiddeploystepfactory.cpp
	src/plugins/android/androiddeploystepwidget.cpp
	src/plugins/android/androidpackagecreationfactory.cpp
	src/plugins/android/androidpackagecreationstep.cpp
	src/plugins/android/androidpackagecreationstep.h
	src/plugins/android/androidpackagecreationwidget.cpp
	src/plugins/android/androidpackagecreationwidget.h
	src/plugins/android/javafilewizard.cpp
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/baremetal/BareMetal.pluginspec.in
	src/plugins/bazaar/Bazaar.pluginspec.in
	src/plugins/beautifier/Beautifier.pluginspec.in
	src/plugins/bineditor/BinEditor.pluginspec.in
	src/plugins/bookmarks/Bookmarks.pluginspec.in
	src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
	src/plugins/clangcodemodel/clanghighlightingsupport.cpp
	src/plugins/clangcodemodel/clangsymbolsearcher.cpp
	src/plugins/classview/ClassView.pluginspec.in
	src/plugins/clearcase/ClearCase.pluginspec.in
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
	src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
	src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
	src/plugins/coreplugin/Core.pluginspec.in
	src/plugins/cpaster/CodePaster.pluginspec.in
	src/plugins/cppeditor/CppEditor.pluginspec.in
	src/plugins/cppeditor/cppfilewizard.cpp
	src/plugins/cpptools/CppTools.pluginspec.in
	src/plugins/cpptools/cpphighlightingsupportinternal.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.h
	src/plugins/cvs/CVS.pluginspec.in
	src/plugins/debugger/Debugger.pluginspec.in
	src/plugins/designer/Designer.pluginspec.in
	src/plugins/diffeditor/DiffEditor.pluginspec.in
	src/plugins/emacskeys/EmacsKeys.pluginspec.in
	src/plugins/fakevim/FakeVim.pluginspec.in
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
	src/plugins/git/Git.pluginspec.in
	src/plugins/git/gitorious/gitorious.cpp
	src/plugins/git/gitorious/gitorious.h
	src/plugins/git/gitorious/gitoriousclonewizard.cpp
	src/plugins/git/gitorious/gitorioushostwidget.cpp
	src/plugins/git/gitorious/gitorioushostwidget.h
	src/plugins/git/gitorious/gitorioushostwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.h
	src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwizardpage.h
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
	src/plugins/glsleditor/GLSLEditor.pluginspec.in
	src/plugins/glsleditor/glsleditorfactory.cpp
	src/plugins/glsleditor/glslfilewizard.cpp
	src/plugins/helloworld/HelloWorld.pluginspec.in
	src/plugins/help/Help.pluginspec.in
	src/plugins/imageviewer/ImageViewer.pluginspec.in
	src/plugins/ios/Ios.pluginspec.in
	src/plugins/macros/Macros.pluginspec.in
	src/plugins/mercurial/Mercurial.pluginspec.in
	src/plugins/perforce/Perforce.pluginspec.in
	src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
	src/plugins/pythoneditor/PythonEditor.pluginspec.in
	src/plugins/pythoneditor/pythoneditorwidget.cpp
	src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
	src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
	src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
	src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
	src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
	src/plugins/qmldesigner/QmlDesigner.pluginspec.in
	src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
	src/plugins/qmljseditor/qmljseditorfactory.cpp
	src/plugins/qmljstools/QmlJSTools.pluginspec.in
	src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
	src/plugins/qnx/Qnx.pluginspec.in
	src/plugins/qtsupport/QtSupport.pluginspec.in
	src/plugins/remotelinux/RemoteLinux.pluginspec.in
	src/plugins/resourceeditor/ResourceEditor.pluginspec.in
	src/plugins/resourceeditor/resourcewizard.h
	src/plugins/subversion/Subversion.pluginspec.in
	src/plugins/tasklist/TaskList.pluginspec.in
	src/plugins/texteditor/TextEditor.pluginspec.in
	src/plugins/texteditor/basetexteditor_p.h
	src/plugins/texteditor/basetextmark.cpp
	src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
	src/plugins/texteditor/codeassist/defaultassistinterface.h
	src/plugins/texteditor/codeassist/iassistproposalitem.cpp
	src/plugins/texteditor/itexteditor.cpp
	src/plugins/texteditor/itexteditor.h
	src/plugins/texteditor/itextmark.cpp
	src/plugins/texteditor/plaintexteditor.cpp
	src/plugins/texteditor/plaintexteditor.h
	src/plugins/texteditor/texteditoractionhandler.cpp
	src/plugins/todo/Todo.pluginspec.in
	src/plugins/updateinfo/UpdateInfo.pluginspec.in
	src/plugins/valgrind/Valgrind.pluginspec.in
	src/plugins/vcsbase/VcsBase.pluginspec.in
	src/plugins/welcome/Welcome.pluginspec.in
	src/plugins/winrt/WinRt.pluginspec.in
	tests/auto/debugger/temporarydir.h

Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Daniel Teske
e476ff3587 QmakeProjectImporter: Prepare for multiple concurrent imports
Fix logic around temporary qt versions. We want essentially shared
ownership of kits on the temporary qt version.

Change-Id: Ic8c748aa2b04afb5a30444563b3fc2f4272ca47c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-09-03 17:31:09 +02:00
Daniel Teske
5ac6fccde9 QmakeProject: Take deduced arguments into consideration on import
That is try to find a kit that matches the deduced arguments found
in the Makefile.

Task-number: QTCREATORBUG-11067
Change-Id: I01dc122ffcba8ccb71b112c271a0ae2cf860328d
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-08-31 13:55:39 +02:00
Tobias Hunger
4a52d8216c Kit: Introduce variables for Kit display names
This change also adds a AbstractMacroExpander for the QtKitInformation.

It supports the following variables in the Kit display name:

 %{Qt:version} - Qt version number
 %{Qt:type}    - Qt type
 %{Qt:name}    - Qt version name
 %{Qt:mkspec}  - mkspec used by the Qt version

Task-number: QTCREATORBUG-11118
Change-Id: I7263781336ab561c34880b187ebd55e81e6ca215
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-18 17:17:50 +02:00
Tobias Hunger
20d945aeb2 QmakeProjectImporter: Clean up temporarily created Qt versions
Change-Id: I341091e667632cc38a6d6c5ead0f286dde750221
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-07-10 17:08:10 +02:00
Tobias Hunger
05d4cc5d29 Project Import: Make sure all values are fully set up
Call setup on all kitinformation that were not explicitly set when
creating a temporary kit while importing an existing build.

Task-number: QTCREATORBUG-12186
Change-Id: I655ecef10122a96d81e5ed222e80fbffcbb51e17
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-06-25 17:46:09 +02:00
Alessandro Portale
8c83dbe4ff qmakeprojectmanager: Native separators in import() error message
Looks better on Windows.

Change-Id: Ie9a7319823808cb578d6afa8833ed7e88b93d5a5
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-04-25 13:32:01 +02:00
Tobias Hunger
a8ea31bf09 FileUtils: Add static method to construct FileNames from Latin1
Change-Id: Ida513eb0537e2ef0c55887d0df21de956e85e983
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-02-11 10:46:09 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Fawzi Mohamed
9f96d7d01d qmakeprojectimporter: avoid adding duplicate entries
ios having multiple makefiles gets detected several times and one
ends up with 5 times the same entry when conviguring a project
that was already present

Change-Id: I5685208305d1f489c5502d5aec0c08dded49da90
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-12-10 15:51:11 +01:00
hjk
d7d27fccbc Rename plugins/qt4projectmanager to qmakeprojectmanager
This finally renames the plugin itself.

Change-Id: Ibdf4f4b4e9776c2fdc809e0127f3e1310de44bd1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-29 17:57:06 +01:00