Commit Graph

160 Commits

Author SHA1 Message Date
Tobias Hunger
f539ff1fcf CMake: Document all arguments passed to cmake
Do not leave out -Csomething (set by the kit) or the generator used
(set by the wizard).

Change-Id: I41cfb935da2877deaa26ae84bfdd96948fa20763
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-11 15:33:41 +00:00
Tobias Hunger
1d6c960f05 CMake: Avoid passing CMakeManager around
Change-Id: I96d7f3785767d1d56ca27a2d0af778edf98d63e1
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 12:50:26 +00:00
Tobias Hunger
53597087c7 CMake: Inline method that is used only once
Change-Id: I1e7d728d0e35f9709b6e04cb2332ebc4487fd0f2
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 12:50:20 +00:00
Tobias Hunger
b2b6d3c526 CMake: Semi-automatic cleanups
* Shorten header guards
* Use override and auto where possible
* Remove useless destructors, etc.
* Remove private slots sections, unify private: sections
* Use member initialization where it makes sense

Change-Id: I00eaf6d706adc16859176d1b68c631d3336bb39f
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 12:17:41 +00:00
Tobias Hunger
079448d342 CMake: Document arguments used to run cmake with
Just add a line of text with the cmake that is being run, the
arguments passed to it and the build directory. Mostly as a help
to debug.

Change-Id: I5ebcac83ddeadf1fc79391b92a83926bff2ea9b2
Reviewed-by: Cristian Adam <cristian.adam@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 12:17:37 +00:00
Tobias Hunger
e26617c3ed CMake: Simplify setup of CMakeOpenProjectWizard
The information is contained in the BuildInfo, so there is no
need to provide it a second time.

Change-Id: I512d148e36996130fab6d8e007dd16d5acebaebb
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 12:17:24 +00:00
Tobias Hunger
1aa0b15096 CMake: Clean up CMakeOpenProjectWizard
Change-Id: Iffa47255df160da86717dde3c3333c204945c179
Reviewed-by: Cristian Adam <cristian.adam@gmail.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 10:11:35 +00:00
Tobias Hunger
4756fbbfec CMake: Do not bother to remember ninja support status
Do not bother to remember ninja support status now that it is no longer
used.

Change-Id: Ief24af8e39ad5e39633ccb6d31858fa003de5ce8
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-01-08 10:11:24 +00:00
Tobias Hunger
c943ab2d30 CMake: Convert open project wizard to Qt5 style connects
Change-Id: I20dd8ef450883eb559def9b3348d807981a52048
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-05 13:03:57 +00:00
Eike Ziller
310ae09996 Merge remote-tracking branch 'origin/3.6'
Change-Id: I68512c775ed25b51c8b0abe1818c9c7c5955874c
2015-10-30 16:08:03 +01:00
Tobias Hunger
ca6144f0d6 CMake: Fix cmake preloadCache file support
* Make it work at all again for cmake configurations without a
  preloadCache file
* Fix the KitInformation to provide the getters/setters like all
  the other KitInformation do
* Use those setters consistently
* Remove useless conversion from QString to QByteArray and back

Change-Id: I8fc43b3531da2c04034c89b29915a29c331fe064
Reviewed-by: Cristian Adam <cristian.adam@gmail.com>
Reviewed-by: Benjamin Zeller <benjamin.zeller@canonical.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-29 16:21:18 +00:00
Robert Loehning
5d588d4100 CMake: Show native separators in CMakeRunPage
Change-Id: Id82db707cbed96a125c3bc84375482873127ce99
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-28 10:04:54 +00:00
Tobias Hunger
95b94cf602 Cmake: Fix build
... and shorten some lines along the way.

Change-Id: I154610ebcf2f9592d105c6fcae8084c12a79e1d1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-26 15:01:09 +00:00
Tom Deblauwe
f6fcfb4c9a CMake: add preload cache cmake script file per kit
Change-Id: I51c33610f2eb300ef5de2e565c567d799eddc9cf
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-26 12:37:54 +00:00
Leena Miettinen
2af989376b CMake: fix UI text
Change-Id: I6803aa799e495007358dbc5f5ee6b8e1d2c6e874
Reviewed-by: Benjamin Zeller <benjamin.zeller@canonical.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-23 12:53:28 +00:00
Daniel Teske
014a7b332b CMake: Rewrite logic for kit selection
Some time ago the all the wizards for the Plain C++ were coalesced into one wizard.

Since then the wizard asks first for the targets via a targetsetuppage and then
in the CMakeOpenProjectWizard asked for the kit again.

This patch clean thats up, by always using the TargetSetupPage for kit
selection and removing code from the CMakeOpenProjectWizard for kit selection.

It also adds more types of buildconfigurations

Offer: Debug, Release, ReleaseWithDebugInfo, MinSizeRelease with the
corresponding -DCMAKE_BUILD_TYPE parameters. That argument is saved
in the build configuration and used once for the first cmake run. (Subsequent
runs of cmake don't require passing that to cmake again.)

Also do not require running cmake on creating the buildconfiguraiton, instead
postpone that until the buildconfiguration is made active. With the current
cmake wizard, selecting multiple kits would show a dialog per buildconfiguration.

Change-Id: I3bb806113f4f529f8e291830647d2515a6c4df8a
Task-number: QTCREATORBUG-12219
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-16 10:08:52 +00:00
Christian Kandeler
8d3aa026e0 Utils: Rename PathChooser::changed() signal.
The name is overly generic, particularly with a pathChanged() signal
also present. Rename to "rawPathChanged", which adequately describes the
semantics.

Change-Id: Ia62b8b0a97a794cb6d5ad6b8ce0abcd36b5f5cdb
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-09-03 11:12:57 +00:00
Daniel Teske
c9a9f08d0a Cmake Open Project: Allow opening projects that have cmake errors
Change-Id: I3779fbe3f6409139b3d027f96ad390a174c0ff7f
Task-number: QTCREATORBUG-6903
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-08-31 10:19:45 +00:00
Daniel Teske
ebf051be27 CMakeRunPage: Fix appending of error messages
Change-Id: I2b1c54bbe948ca8b3ba5384a2e97e29b2fd878c9
Task-number: QTCREATORBUG-14439
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-05-18 10:51:02 +00:00
Benjamin Zeller
1e2d266541 Make CMakeTool known to the Kits
This patch adds support for binding a specific CMakeTool to a Kit.
When creating a new Kit or loading a existing one without a valid
CMakeTool, the default CMakeTool will be set.

Change-Id: I28d0843a01c583c4b31fc680a0ec556b40cd9c0d
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-03-03 12:47:36 +00:00
Eike Ziller
9e9755310b Merge remote-tracking branch 'origin/3.4' 2015-02-25 10:16:16 +01:00
hjk
592ffe7377 SettingsDialog: Remove CategoryId parameter from callers
PageIds are supposed to be unique, so the CategoryId can be determined
from the PageId. Look for PageIds in the already expanded categories
first before searching through expensive categories.

Change-Id: I006beb0df6183453163ac1810fe59a306a0f52b1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-02-24 13:52:00 +00:00
Benjamin Zeller
99e9643dea Make it possible to register multiple cmake instances
This patch add the CMakeToolManager, a central repository for cmake instances.
One instance is always the currently used "default". By that its possible to
switch between different cmake installations. The next step will be adding
it to the Kits.

Change-Id: I310fdd805e0ed239077a5632303e891dbd1d9ea1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-02-24 09:54:43 +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
a439483d70 Use QFileInfo::exist(f) instead of QFileInfo(f).exists() if possible
Faster.

Change-Id: I91aa67462e11ff3258600d7f158de79942d0dc81
Reviewed-by: Marc Reilly <marc.reilly@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-11-03 09:31:28 +01: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
Eike Ziller
bef7181ed0 Set parent for options dialog where appropriate.
Otherwise the options dialog might appear behind the current "dialog"
(for example the "new" wizards).
Also, take ICore::dialogParent as default.

Change-Id: I4578e269db5763842a942549a45ec8cdd6b28b5d
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-07-14 16:24:26 +02:00
Orgad Shaneh
0f759ed5e3 CMake: Pass some values by reference
Change-Id: Ie232a4312a783f41cb719e6a69cd2e3006caf84c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-06-02 11:42:28 +02:00
Daniel Teske
faab380cc1 CMake: Show a error if the cached generator is incompatible
Task-number: QTCREATORBUG-8594
Change-Id: I20b2ed5b82f5003315e6f72346a11980ce0929ef
Reviewed-by: Matt McLin <matt.mclin@barco.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-05-06 11:16:07 +02:00
Oswald Buddenhagen
f013c41d05 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp

Change-Id: Icce6e8dd9b3afd9a0fe836e9babfb7a17cee9c4d
2014-03-27 18:20:00 +01:00
Daniel Teske
8b90474104 CMake: Fix GeneratorInfo to include Msvc2013 everywhere
Change-Id: I8192d194ac20d8082ebf1cc034e8b84e25e66d90
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-03-27 17:56:31 +01:00
Daniel Teske
f5705459d1 CMake: Offer Nmake generator for VS 2013
Task-number: QTCREATORBUG-11855
Change-Id: Ieba3c61d292831662184517c55f081792e2381bb
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-03-27 14:18:42 +01:00
Daniel Teske
5a6d5d6649 CMakeOpenProjectWizard: Set a parent
Task-number: QTCREATORBUG-11856
Change-Id: Ie80352683e2a8276f70191db2a3b333275e2648f
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-03-26 17:53:07 +01:00
Benjamin Zeller
3b786e7faf cmakeprojectmanager: Move SettingsPage and GeneratorInfo in extra files
Move CMakeSettingsPage and GeneratorInfo into extra files
to prepare for refactoring

Change-Id: Idee2e9f807a961c0eee9c15198ee0966ecc16e83
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 16:55:17 +01:00
Sergio Ahumada
c375436847 Fix some typos
Change-Id: I3be73c2a4d256a0d28e863fd2517a4d7442b34d8
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-03-05 09:39:42 +01:00
Eike Ziller
4251265a63 Unify text on buttons that open the options dialog
We have many buttons that open the options dialog, and many of these use
different terms.

Change-Id: I073fe2a23569c6f4174a2fb6567359c89cb2427c
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-02-25 16:55:25 +01:00
Tobias Hunger
5559e64c7e Cmake: Add history completer to path chooser
Change-Id: Ib747ce4903668799a47011ae7cddfd898aaf722b
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-10 10:25:44 +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
Friedemann Kleint
119548a0ff Remove most leading/trailing blanks from translated messages.
They are a hassle for translators and reviewers alike.

Change-Id: I363138212b692cf75fe1605df8af3721315d37e1
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-24 10:50:56 +02:00
Eike Ziller
56c3d8ffab Unify wizards with TOC and cancel button.
QTBUG-28385 is biting us over and over (QWizard doesn't have close
button nor cancel button on Mac in Qt 5), and actually there's no reason
for us having a wizard without the features from Utils::Wizard.

Task-number: QTCREATORBUG-10346
Task-number: QTBUG-28385
Change-Id: I80c0d82fe6738496c2ac03c31a1c2757ade8e266
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-09 14:31:14 +02:00
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
Oleksii Serdiuk
328a24edee CMake: Make CMake plugin work with RemoteLinux plugin.
Modified CMake plugin to work correctly with RemoteLinux plugin.
Because of not being able to extract files to be installed from CMake
project, only executable targets are automatically added to deployment
files. All other files have to be specified in CMakeDeployment.txt file
which should be placed into root of CMake project. The file format is:
> deployment/prefix
> relative/source/file1:relative/destination/dir1
> ...
> relative/source/filen:relative/destination/dirn

Where:
- deployment/prefix is (absolute) path prefix to which files will be
  deployed on the remote machine.
- relative/source/file is file path relative to CMake project root.
  Plain files - no directories or wildcards supported.
- relative/destination/dir is destination directory path relative to
  deployment/prefix.

Change-Id: I0831636c1b9aac3ff16bb6293104c512d2abfb5a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-09-16 13:30:54 +02:00
Nikolai Kosjar
69fc3cf03f Kill ";;" at end of statement
Change-Id: I177094f19978e07f85e42b34701d8f03cd26665e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-04 09:19:10 +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
Daniel Teske
ac93e9734d CMakeProjectManager: Only supports desktop kits
Task-number: QTCREATORBUG-9340

Change-Id: I1e209cc96bf415fe065520caa51f90d4f5ecf134
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-24 14:24:10 +02:00
Daniel Teske
5d993c3f76 CMakeOpenProjectWizard: Explicitly add a "cancel" button.
Task-number: QTCREATORBUG-9264
Change-Id: I7c726177ff855da41d1971245655e8dc24740430
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-05-08 13:22:40 +02:00
Yuchen Deng
e8aebf9f10 CMake: Make the default kit as the current generator
Change-Id: Id8b42469fc7fdc22278bcaf4f5cb60f42d8f6c53
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-01 12:21:13 +01:00
Yuchen Deng
04e267b482 CMake: Don't save entry if CMake exited with errors
Change-Id: Ife98b33c3269a452187c957bd5579722b3ae4018
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-01 12:19:25 +01:00
Yuchen Deng
75d1c3035a CMake: Add option for preferred Ninja user
Change-Id: I5a3aa31db7fa37f31a4b557eb5b09b7987169265
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-02-28 16:14:01 +01:00
Daniel Teske
fc867d5daf CMakeOpenProjectWizard: Warn the user if no kit is available
And allow the user to configure kits before proceding.

Change-Id: I6acf2bcc05d53b0ac9d448599d29d2fe02ae1349
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-02-21 13:33:26 +01:00