Commit Graph

3443 Commits

Author SHA1 Message Date
Tobias Hunger
da18c76b96 CMake: Block project configuration widget while project is parsing
This prevents the user from changing settings while the project is parsing. Those
changes would get lost.

Task-number: QTCREATORBUG-18988
Change-Id: Ie04c6750c8aea3fe5543168ae4838f42fe488ca2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-11-14 14:19:27 +00:00
hjk
dfd4ad8c2d ProjectExplorer: Simplify IRunConfigurationFactory::clone() use
Change-Id: I005d6c87142d26dfc7ae1349329737a68f54c427
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-11-14 10:58:30 +00:00
Orgad Shaneh
d9cb19b229 Merge remote-tracking branch 'origin/4.5'
Change-Id: I60fca091b2eac67259580acba5ae934c16d74a83
2017-11-11 19:54:32 +02:00
hjk
5ca90a4a5e ProjectExplorer: Fix copying of RunConfigurationAspects
Moving aspect data closer to real Value semantics fixes
the regression introduced by 890c1906e.

Task-number: QTCREATORBUG-19186
Task-number: QTCREATORBUG-19192
Change-Id: Ieaeef3995ae06a817f266c1e2514f9e5793bd4e8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-11-10 15:09:59 +00:00
Eike Ziller
a9e4e3608e Merge remote-tracking branch 'origin/4.5'
Change-Id: I0194bdeda71e33fd5bc9cb3eb7a9198ae72815ed
2017-11-07 15:10:36 +01:00
Tobias Hunger
9ca74997d5 CMake: Use QtOutputFormatter for CMakeRunConfigurations
Use QtOutputFormatter for CMake run configurations that belong to targets
with Qt configured.

Task-number: QTCREATORBUG-18586
Change-Id: Iedb6d7079649022b2ba6dabef37b79c0d33b8635
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-11-07 09:51:22 +00:00
Orgad Shaneh
a6cda6dbe0 Merge remote-tracking branch 'origin/4.5'
Change-Id: I16e3bb9ee3a1e6dc6edf7a65f8a137a25cda4fe3
2017-11-05 16:49:17 +02:00
Tobias Hunger
a65630ef8c CMake: Pass C toolchain on to the project model
Change-Id: Ice833d9b180d7bac109c7cdf9e63fdba0bbce86e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-11-01 14:19:10 +00:00
Orgad Shaneh
0b76a8864c Merge remote-tracking branch 'origin/4.5'
Change-Id: I7bc3615fb4bbafffa9636d731d8840445352b592
2017-10-30 21:44:13 +02:00
Tobias Hunger
7a7a12cef2 CMake: Fix build directory
Fix use of build directory vs. workdirectory in tealeafreader and servermode
reader.

Change-Id: I593579f7ad4facd64cf201368cacc4d3a8414fbf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-10-27 09:07:10 +00:00
Eike Ziller
7f626b1182 Merge remote-tracking branch 'origin/4.5'
Change-Id: Iceaa4ca40b5318744bde8a76c6d3ccca08df71bb
2017-10-25 16:07:21 +02:00
Eike Ziller
50e9c18c6a CMakeProjectManager: Don't use typed enum where it is unrelevant
It confuses lupdate (QTBUG-36589), and is totally unrelevant in this
case.

Change-Id: I65444fcdb62b7d95de9f22025272508aa3bf272e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-10-24 14:31:35 +00:00
Tobias Hunger
4acb16272d CMake: Enable switching between different temporary CMake configurations
This got broken when moving the BuildDirManager from the BuildConfiguration
into the Project itself.

As a side-effect this patch also fixes the persisting of cmake state.

Task-number: QTCREATORBUG-19075
Change-Id: I1fc696097b09f5285e67f20885eb1fa27504990b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-24 11:13:42 +00:00
Tobias Hunger
79226a66eb CMake: Fix header size in CMake configuration view
Stretch the first column, not the second:-/

Task-number: QTCREATORBUG-19128
Change-Id: I0d2e945b14b83d5449af50016fb2ef6ad19da871
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-24 11:11:53 +00:00
Tobias Hunger
de8e139413 CMake: Show "CMake Modules" node in simplified project tree
Show "CMake Modules" node in simplified tree. That keeps all the
Qt cmake code from mixing with the real project files.

Task-number: QTCREATORBUG-19040
Change-Id: I1a12c7f64db2c06982de1c66a6e54e4d936ae784
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-24 11:10:47 +00:00
Tobias Hunger
3f73f3a4f4 CMake: Fix "CMake settings have changed on disk"
* Improve the UI by showing settings in CMake and the project
* Fix setting CMake configuration to project

Change-Id: I6e127344551fa00f3f7e6170465cb3dda2e4a634
Task-number: QTCREATORBUG-17555
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-24 11:10:30 +00:00
Leena Miettinen
f4cd9cdb6a CMake: Fix UI text
Change-Id: I3587084925089c7bb7ffb9cfb09f6b822b215cd8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-24 08:47:52 +00:00
Orgad Shaneh
371b2bbbab Merge remote-tracking branch 'origin/4.5' into master
Change-Id: Ibcdd1230b40d1ca7a414843ee0f9ae4cddb29f6f
2017-10-17 20:00:44 +03:00
Tobias Hunger
aa4e05f07b CMakeBuildSettingsWidget: Fix filtering in cmake configuration
This got broken with the introduction of the grouping.

Task-number: QTCREATORBUG-15814
Change-Id: Ic9908d01a1ecb636db0c8f4b7f1db926ccaedd4e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-17 14:47:02 +00:00
Tobias Hunger
b49722c820 CMakeBuildSettingsWidget: Forward-declare ProgressIndicator
Change-Id: I3808e973671849c6014780ee99896cb2d139dc18
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-17 14:46:56 +00:00
Tobias Hunger
0a5f32ff75 CMake: Fix crashes when last target is removed from a project
Task-number: QTCREATORBUG-19112
Change-Id: I17893c3e15e9cabc09bf5ebb6746a5d76d9cc0bd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-17 14:46:49 +00:00
Tobias Hunger
b1157e4e63 CMake: Allow to unset configuration values
Change-Id: I649323e3c2cc51ea69dd7e216f30eeb653f3873b
Reviewed-by: hjk <hjk@qt.io>
2017-10-17 08:21:07 +00:00
Eike Ziller
07bec99e8f Merge remote-tracking branch 'origin/4.5'
Conflicts:
	src/plugins/debugger/debuggerruncontrol.cpp
	src/plugins/projectexplorer/gcctoolchain.cpp

Change-Id: Iaad0659293681cce4266fc3e4ba2a4f2068de911
2017-10-09 12:09:27 +02:00
David Schulz
efb67d277e CMake: fix qbs build
Change-Id: I91295b054b1603aa8daca297c6a29c0ac7f134d0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-09 05:50:18 +00:00
Tobias Hunger
02533e61cf CMake: Fix project parsing notification
This builds on top of 08677c0b01 and
fixes one more code path to go through a common entry/exit point.

Change-Id: I1d00fa9242f247028e5d3b0ef3b5fe1d3f4cb03d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-06 09:53:40 +00:00
Tobias Hunger
7c94750d70 CMake: Modernize CMakeBuildConfiguration
Change-Id: Ie09ae7b765d6c2f72eb62b9db2937fbd68e232f5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-04 09:53:03 +00:00
Tobias Hunger
2dabdbd2fe CMake: Report cache configuration arguments in server-mode
Change-Id: I3cd7a9ac37a1b8c3c6018070c6fdc506abedd736
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-04 09:52:43 +00:00
Tobias Hunger
c330cf0679 Replace manual signal blocking/unblocking with QSignalBlocker
Change-Id: Ibb59fab4e37d045e506c5a8172b6f5cbb955b028
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-10-04 09:35:06 +00:00
Tobias Hunger
cac9db78df CMake: Make conditions in disabledReason and updateEnabledState match
Change-Id: I7c218b20e15c1e7b2dcca7dd80b226536cfa650b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-29 10:17:03 +00:00
Orgad Shaneh
9d40f81441 Merge remote-tracking branch 'origin/4.5'
Change-Id: I919f3dac0bf44f18276e4f70309414bb22c74973
2017-09-28 13:59:51 +03:00
Laurent Montel
7dafb822ed CMakeProjectManager: Clean forward declaration
Change-Id: I47cb6fbac276554e548383fe6945fd5cd38386c6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-27 07:46:06 +00:00
Tobias Hunger
3d8be750b9 Environment: Use Utils::FileName for path() and related methods
Update users accordingly.

Change-Id: I9432e82308e9d0630514c6c8632aeb6b6ee0cf90
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-27 07:37:26 +00:00
Tobias Hunger
08677c0b01 CMake: Quieten soft-assert on small project loads
The directory tree scanner and the project parsing work independently of
each other. Add logic to combine these two sets of results into one
parsing state.

Change-Id: I46e94f0e866b40ee7225235c536c742cecf11b45
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-26 14:31:25 +00:00
Claus Steuer
100cd10d6e CMake: Set CMakeRunConfiguration executable and working directory
Since 131c7a1 the executable and base working directory property of
CMakeRunConfiguration objects is no longer set when the project data
is updated. At least the executable is required in the AutoTest plugin.

Change-Id: I31c4cb37983d3983664d178c0f8c08d491f719ad
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-24 12:23:45 +00:00
Tobias Hunger
8fb3105e25 CMake: Add option to auto-create build directories
Add an option to CMakeTools to force auto-creation of build directories.
This does lead to cmake cluttering up the file system with directories, but
does not force users to go through the oftentimes long configuration process
twice (once in a temporary directory and once in the real location).

Task-number: QTCREATORBUG-16794
Change-Id: I68d92fc58638ad0a0a7622b7ef1621e055c9f2a7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-20 12:39:18 +00:00
Christian Stenger
bf5bc72b5a CMakePM: Fix compile with Qt5.6
Broke with be376ae7.

Change-Id: I9c99a7be78c7ec0359cefee84e2e1877d20f25bf
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-09-20 05:22:24 +00:00
Tobias Hunger
be376ae706 CMake: Enable type forcing for CMake configuation values
Allow to force the type for CMake configuration values, now that
this type changes how you can edit the values.

Change-Id: Id89e0ec8547b778fc0aff9a2e00c0d7406cbcac1
Reviewed-by: hjk <hjk@qt.io>
2017-09-19 13:17:50 +00:00
Eike Ziller
3d9cf954e2 Merge remote-tracking branch 'origin/4.4'
Conflicts:
	src/plugins/debugger/debuggerdialogs.cpp
	src/plugins/debugger/gdb/remotegdbserveradapter.cpp

Change-Id: I1ae77869887a8d9ef2a33439f2733315db9e0cf0
2017-09-19 12:10:26 +02:00
Tobias Hunger
f4ff420036 CMake: Improve delegates for CMake configuration
Change-Id: Ib1d2bfca1b2faafd36c53f24c6649e73ee0af190
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-19 08:42:20 +00:00
Christian Stenger
b1373c4853 CMakePM: Fix compile with Qt5.6
Change-Id: Ic50efba6b7ff70d4811b7e790e7b9c1f89a1fe44
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-18 12:16:05 +00:00
Tobias Hunger
dfec256dff CMake: Allow CMake configuration to be forced to string type
This allows editing values with misidentified types in Project Mode.

Change-Id: Ic74da2ca71cc9046cbbeb1202075976c9edd28b7
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-18 11:36:51 +00:00
Christian Stenger
e255baaa8f CppTools: Add target type information to project part
Let project managers store information whether a project part
belongs to an executable or a library and use this information
inside the AutoTest plugin.
This information will help to determine which targets are
relevant for the execution of tests.

Change-Id: I93b42797bf55225425398dc83aecea3c99eea290
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-18 10:01:30 +00:00
Tobias Hunger
df22d2c717 CMake: Do not lose value when renaming key in config model
Do not lose the value when the key gets changed in the CMake configuration
view in Project mode.

Task-number: QTCREATORBUG-17926
Change-Id: I7c55f815bc918da0267eed57385c2d641568dc8c
Reviewed-by: hjk <hjk@qt.io>
2017-09-15 12:10:29 +00:00
Tobias Hunger
63ce81db5e CMake: Sort Project CMake configuration via the Proxy model
Makes renaming items feel more natural as they do no longer stick to the
top (note that currently you can only rename newly added items!).

Change-Id: I89d0dc7cb73e08d8b60900a96ffd2ab1c2b490c2
Reviewed-by: hjk <hjk@qt.io>
2017-09-15 12:10:19 +00:00
Tobias Hunger
8e5528212f CMake: Only enable edit button for CMake configuration when useful
Only enable the button when items are actually editable.

Change-Id: I54fd5430772a6db61c85b59d5c655d3bd4ebf8d7
Reviewed-by: hjk <hjk@qt.io>
2017-09-15 12:10:13 +00:00
Marco Bubke
b6e12f4a1c Convert macros from plain QByteArray to a vector of structs
The old code model expected the macros as C++ formatted text
("#define Foo 42) but newer targets like the Clang codemodel expect key
value arguments like "-DFoo=42". So instead of parsing the text again and
again we use an abstract data description.

Task-number: QTCREATORBUG-17915
Change-Id: I0179fd13c48a581e91ee79bba9d42d501c26f19f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-14 15:23:56 +00:00
Orgad Shaneh
f10af21922 CMake: Fix auto-detection on Windows
Recent CMake installer (3.9) installs the executable in CMake/bin.

Change-Id: I3912badc0907c91044e76b3155e924dd985819f1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-14 10:01:15 +00:00
hjk
890c1906e6 ProjectExplorer: Re-organize RunConfiguration constructors
The idea is to massage the setup in a way to make implementation
of new configurations less error prone by identifying recurring patterns
and sharing repetitive code that tends to be forgotten (see Android cloning).

The former two lines of constructors (owner-and-id, owner-and-source)
are split into a simple, shared, constructor and new setId() and
copyFrom() functions.

The change is mostly mechanical, some multiple calls to fromMap
have been removed, though, some consts added.

Otherwise, to keep the patch small it temporarily introduces two
helper templates in IRunConfigurationFactory. Also, setId() signatures
have not been unified yet. These won't be needed in the final setup.

Change-Id: I8c0734496caae744a9883fe6d92c1d8f8e0234ea
Reviewed-by: hjk <hjk@qt.io>
2017-09-13 09:24:26 +00:00
Tobias Hunger
cacb6b17d0 CMake: Group entries in project configuration
Change-Id: I6aa797f5ff49a5cc33dfbdf0b25dcd78abbff66e
Reviewed-by: hjk <hjk@qt.io>
2017-09-12 12:55:51 +00:00
Tobias Hunger
3bb3f4af56 CMake: Filter out CMake input files that are already listed
Filter out CMake input files that are already listed elsewhere in the
project tree. This is server-mode only.

Change-Id: Ib62cd5b521a51180d12d76ec2868a99dbdecc272
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:18:58 +00:00