Commit Graph

26 Commits

Author SHA1 Message Date
Tobias Hunger
82b6d728c7 CMake: Fix Clear Cache when builddir is not persistent yet.
Change-Id: I4dc2c5889845b13ebe167b89e78b104f8805a1f6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-12 13:10:02 +00:00
Tobias Hunger
b9efc096f6 CMake: Do not purge the configuration to change the EXTRA_GENERATOR
CMake does change the EXTRA_GENERATOR without having to clear the
configuration. So do not do that anymore.

Change-Id: I09a8ee32e3e2577381fbfb86d55caa75c43c5bf2
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-13 11:25:14 +00:00
Tobias Hunger
3e30319634 CMake: WS-only change
Change-Id: I55a9b8dc25d642e8a865821191712b906d7d4bc2
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-12 11:02:42 +00:00
Tobias Hunger
118e42ecce CMake: Make cache clean detection better
Do clean the cache when necessary. The logic used to be wrong in that
it sometimes would just force a reparse where a cache clean was necessary.

Change-Id: Ice5e3bceaea83d4fd4d7c2ae6e21e76118e2d2c0
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-12 11:02:38 +00:00
Tobias Hunger
8799188be5 CMake: Force a cmake run if no data is available yet
It makes no sense to not parse if we never parsed before. This got
broken when I tried to reduce the number of cmake runs.

Change-Id: Id70a6550faf248cc983b61f6d2456a93d8454a50
Task-number: QTCREATORBUG-15927
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-30 13:05:11 +00:00
Tobias Hunger
34b18c699c CMake: Normalize file paths before comparing them
On windows we got false negatives due to one path starting with "C:" and
the other with "c:". Use Utils::FileName which should do the right thing.

Change-Id: I7dcf8ad3f61caca7ac7c183d492ebfd57fe1b669
Reviewed-by: Cristian Adam <cristian.adam@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-29 11:46:19 +00:00
hjk
00119ab509 Cmake: Use double quote marks in a status message
Change-Id: I0de727659189230ec71f9f6f6d30040d77794251
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-17 16:48:27 +00:00
Tobias Hunger
07d9b769aa CMake: Only reparse cmake build directory for active buildconfigurations
This fixes the several progress bars from popping up when creating a
cmake project via wizards.

Change-Id: I1d61e74db8a190afd6302cd56f141e08e521a587
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-17 12:10:07 +00:00
Tobias Hunger
2db184db60 CMake: Make sure processes are dead before cleaning temporary directory
This should stop messages about processes still running when cleaning
up the directory on windows.

This also makes sure the progress bars are closed again.

Change-Id: Ic3e94efc8bdecca35437987e0647284cb48af121
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-17 12:09:57 +00:00
Tobias Hunger
5e623ddfd1 CMake: Improve handling of cmake configuration in kits
Use macros. This makes it possible to address the current qt version
and toolchain without having to update those values all the time.

This significantly simplifies changing Qt versions and toolchains in
the kit as well as the code itself.

Change-Id: I35128eebdc96fe6175f565b2e9bdaa40862516a7
Task-number: QTCREATORBUG-15830
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-16 15:37:48 +00:00
Tobias Hunger
38a051b6a4 CMake: Avoid needless cmake runs after kit changes
Do not run cmake if the kit has changed in ways that
do not effect cmake. Do clean rebuilds for changes to the generator
or cmake tool, etc. which do not work without that.

Change-Id: I4e9d43c5161246c3ded7f784cb0d44c3bd4b04e9
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-14 13:23:41 +00:00
Tobias Hunger
99a884051f CMake: Export internal cmake cache values
Those are useful for the cmake internal classes, but need to be filtered
out when they are going to get displayed to the users.

Change-Id: I0bb62fa840fa8cb9e6f3b47300ba85a2b186bad0
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2016-03-14 13:23:38 +00:00
Tobias Hunger
de9eeb233f CMake: Improve method names
I just mixed those methods up, so I'd better improve their names:-)

Change-Id: I38a37df4adb0d0402e2c3d9304c79aa414609976
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-03-14 13:23:35 +00:00
Orgad Shaneh
62570e1640 CMake: Fix crash when changing build directory several times in a row
Change-Id: I349e72a321f1a0cdcbce4f948c363336815ef3f3
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-14 09:33:26 +00:00
Tobias Hunger
d122c34c96 CMake: Add ability to force CMake cache clear
Some CMake parameters changes requires to clear cache and run CMake
from scratch. Add ability to force it from the CMake configuration
dialog.

This change based on the work of Alexander Drozdov.

Change-Id: I21d8e12eec7e1f7bca560f44c43f25e4f333fcf0
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-10 15:22:55 +00:00
Tobias Hunger
68b99dac2b CMake: Make parsing of CMakeCache.txt files available
Change-Id: I94876851dd4cf737418c4c00b589af1b3a9535ed
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-01 14:26:34 +00:00
Tobias Hunger
420e54281c CMake: Keep cmake state in a temporary directory till first build
This avoids creating lots of build directories as the user types
in something into the builddirectory line of the build settings.

Change-Id: Ib08a0f65e08bce104e4baf9e19fb01730d2f5f08
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-26 12:17:39 +00:00
Tobias Hunger
76a050cb83 CMake: Move BuildDirManager from the project into the buildconfiguration
Change-Id: I90126ff22dd394eba4145db142b3914d211af476
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-26 12:17:31 +00:00
Tobias Hunger
a8c2abeaa5 CMake: Register files with the locator again
Change-Id: Ib3a42c22bfac18630b968cfd78744c7827ef7fad
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-15 15:58:57 +00:00
Tobias Hunger
6c382e134b CMake: Handle deletion of builddir better
Change-Id: Ifeb35b14aba05c0e23a027b71f185ba20eed3e55
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:57:29 +00:00
Tobias Hunger
0d10ce3834 CMake: Disable BC if there is an error during initial cmake run
* Disable the BC and give report the cmake error
* Show a warning label in the BC

Change-Id: If5737d033fa2682c264ab7ac1189c59947e3b28d
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:57:19 +00:00
Tobias Hunger
28e4306865 CMake: Add UI to display and edit cmake configuration
Change-Id: I95944dcd58dc86023c2757068979f92b8989011b
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:57:11 +00:00
Tobias Hunger
f71b3652f4 CMake: Read CMakeCache.txt
Read the configuration from CMakeCache.txt files.

Change-Id: I7ddf9c9727420634086c973d0134059aac37ace0
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:57:08 +00:00
Tobias Hunger
fdeef866dd CMake: Report progress during project configuration
Change-Id: Icabc4a417a67984acaad0f14c6521f103621e7ab
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:05:18 +00:00
Tobias Hunger
c1a914197c CMake: Parse cmake errors during project setup
Do warn on errors during initial cmake run.

Change-Id: I520fdb8b83b9228ea71dcce050d1cab4c3e4f81a
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:05:03 +00:00
Tobias Hunger
859bf2c5ce CMake: Do not run a cmake wizard all the time
Do not push the cmake running straight into the face of the user. Do it
in the background instead.

This needs some follow-up patches to become really useful.

Change-Id: I3457178b33e3f14bdeac25005a773d17abb73b65
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-02-15 11:04:45 +00:00