aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotoolsprojectmanager
Commit message (Collapse)AuthorAgeFilesLines
* Core/Utils: Migrate further to Utils::Idhjk2020-07-065-9/+9
| | | | | | | | The coreplugin/id.h header is kept for downstream for now. Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66 (cherry picked from commit 430a33dcd9ac80ddb848e41f8f059102857c88aa) Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* All: Use Utils::SkipEmptyPartshjk2020-06-171-1/+2
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: Iab45de9a9c17ddc39a0e343b1175d4f6cb94b098 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Replace FileChooser::path() by filePath().toString()hjk2020-04-091-1/+1
| | | | | | | | | | | Keep the old method for now to ease downstream porting. The change is kept mechanical, there's a lot of cleanup possible now on the user code side. Change-Id: I936baedd45b7ba057f1c789a1bec896886f48eff Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-041-3/+3
|\ | | | | | | | | | | | | | | | | Conflicts: src/plugins/cmakeprojectmanager/tealeafreader.cpp src/plugins/cmakeprojectmanager/tealeafreader.h src/plugins/projectexplorer/miniprojecttargetselector.cpp Change-Id: I88d85be3903f57a55fddb7901e771a4822db1b85
| * ProjectExplorer: Pass extra project files as QSethjk2020-03-031-3/+3
| | | | | | | | | | | | | | They are available in some cases as such, and consumed as such. Change-Id: I9866c7d7bd817fb19a8b11a0efbe583ed55fe393 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Introduce some BuildStep convenience accessorshjk2020-02-193-36/+22
|/ | | | | | | ... and use in ProcessStep and related classes. Change-Id: Ie6f1403d0aa2b9f5bcde06e994809466700b1357 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add final specifies to classesIgor Sidorov2020-02-051-1/+1
| | | | | | | Warning -Wfinal-dtor-non-final-class in clang trunk Change-Id: I2bf17064bf8898eab10b82b69583a283157766d0 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Move some of the BuildInfo setup code to central placeshjk2020-01-141-3/+2
| | | | | Change-Id: I8893366acb187ea1a94a8ca272ded2c46cb521d1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotools: De-Q_OBJECT-ify build related classeshjk2020-01-1312-209/+197
| | | | | | | | | | | | | Only used for translations, and that can be achieved much cheaper without the extra translation units created by moc. This reduces the size of the autotoolsprojectmanagers/.obj build dir from 23220 kB to 17696 kB for my debug buld. Take the opportunity to sprinkle in a few 'final'. Change-Id: I85b36c6b8ca58469d0906f1105b2b1587b7c7e6c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: De-QObject-ify BuildConfigurationFactorieshjk2020-01-102-5/+3
| | | | | | | | | | | | | The QObject was not heavily used. Object name was for debugging only, translation context can be taken from the corresponding BuildConfiguration objects, the qobject_casts in the three big importers are replaced by dynamic_cast, which is good enough in that context. Take the opportunity to re-use translations from base BuildConfiguration for the common cases and sprinkle in some 'final'. Change-Id: I8e9727c98c6e943cb333556861c24e701c2bdf45 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Replace BuildConfigurationFactory::availableBuildshjk2020-01-092-18/+12
| | | | | | | ... by a function object. Change-Id: I9953ba6915c0177e7c4067d36dd755fc2ba5cf84 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Pass Id to BuildStep constructorhjk2020-01-098-11/+11
| | | | | | | | Allows to use constants in fewer places, similar to what e.g. RunConfiguration does. Change-Id: I9d049128206c4acf0ce14b06b66d6c090a7c5242 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Register some initial build steps by idhjk2020-01-072-22/+13
| | | | | | | | Helps to cut down BuildConfigration::setInitializer() usage. Plan is to have more of that where feasible. Change-Id: I138fcffc743daaf7068b5236c2a19c9ca0e3e2d4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Use FilePath for PathChooser::m_baseDirectoryhjk2019-12-191-1/+1
| | | | | | | ... and collapse the two accessor versions to one. Change-Id: I282753a0092601cff073684053ff914016452645 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Pass parameters to BuildConfiguration initializationhjk2019-12-101-1/+1
| | | | | | | ... directly again, mostly undoing the temporary hack from fb631cb2585. Change-Id: I4485dcb23765d99b4b5869973f004457ebd7aa7d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use function object for special build config inithjk2019-12-092-21/+18
| | | | | Change-Id: I5da0f28ee1a64f8d9a3145f059019be702bee463 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Settle on fixed set of build step listshjk2019-12-061-10/+5
| | | | | | | | | | | | Even if the implementation allowed different lists than 'build' and 'clean', that's the only set that has been used, ever. If really needed, this could be re-instated, but for now having them fixed removes part of the neeed for a two-phase construction and helps to simplify user code. Change-Id: I3df09a1829a7d020ef8963d358ea80f8d199ba13 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* AutoTools: Avoid an unneeded use of Project::activeTarget()hjk2019-11-211-2/+1
| | | | | Change-Id: I0fa1b788ddbbe96973ead65ad09b4c8742e1832f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Introduce and use a Target::buildSystemUpdated signalhjk2019-11-211-0/+2
| | | | | Change-Id: I497d46866146600a1ed9162bd720c574ee4d4769 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Introduce per-buildsystem setRootProjectNodehjk2019-11-211-1/+1
| | | | | | | | Currently diverting to the original Project::setRootProjectNode. Idea is to focus on the BuildSystem <-> generated tree relation. Change-Id: I8b20173e364713f0919cf4f8b76a2f79ef8770bb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Make more use of available convenience functionshjk2019-11-211-3/+1
| | | | | Change-Id: I53089c5e2138b1c9943d0dbff3857a2dff8ea233 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use a Kit to initialize KitInfohjk2019-11-201-1/+1
| | | | | Change-Id: I70a83ff9a9da814b4e1ad9ce5e0b626105c09ca4 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* ProjectExplorer: Move BuildSystem owership to BuildConfigurationhjk2019-11-195-24/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... or Target. This patch moves build system from conceptually "one per project" to "one per target (i.e. per project-and-kit)" or "per BuildConfigurations" for targets where the builds differ significantly. Building requires usually items from the kit (Qt version, compiler, ...) so a target-agnostic build is practically almost always wrong. Moving the build system to the target also has the potential to solve issues caused by switching targets while parsing, that used Project::activeTarget() regularly, with potentially different results before and after the switch. This patch might create performance/size regressions when several targets are set up per project as the build system implementation's internal data are duplicated in this case. The idea is to fix that by sharing per-project pieces again in the project implementation once these problems occur. Change-Id: I87f640ce418b93175b5029124eaa55f3b8721dca Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use a functor for BuildSystem creationhjk2019-10-251-1/+1
| | | | | | | | | | ... instead of creating the BuildSystem direct. This will help the shift of BuildSystem owner ship as a Project will have potentially multiple BuildSystem instances (one per BuildConfiguration), but still be responsible for creating them with the Targets. Change-Id: I2dd71c7687ed41af9e42c874b3f932ce704e7ee3 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Move RawProjectPart to ProjectExplorerEike Ziller2019-09-111-1/+1
| | | | | | | | Doesn't have any dependencies into CppTools anymore, therefore moving it reduces the dependencies of the project managers to CppTools as well. Change-Id: Ibe728abe59eb88a8877943dca1f48a85163e27ac Reviewed-by: hjk <hjk@qt.io>
* Autotools: Introduce AutotoolsBuildSystemTobias Hunger2019-08-2914-170/+110
| | | | | | | Introduce AutotoolsBuildSystem and slim down AutotoolsProject. Change-Id: I68296152f9ecd5d14198c8d0b36a06c2d1b162ec Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Project: Rename Project::activeBuildEnvironment to ↵Tobias Hunger2019-08-281-1/+1
| | | | | | | | | | | | | Project::activeParseEnvironment This is used for parsing the project only, so reflect that in the name. Not all projects have build configurations, so the old name did not make too much sense for what this has been used for. Eventually this code should move into the BuildSystem. Change-Id: Iff766150b5fe370f2912b0b3b15348b1c1fad5b5 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Set up hack to funnel information to buildstep ctorshjk2019-08-222-10/+3
| | | | | | | | | | | | For now, store most of BuildInfo in the BuildConfiguration. This will allow accessing it in the BuildStep ctors so the BuildSteps can be fully setup without polishing afterwards (as currently done in the main build steps of the three buildsystems, and Nim) This in meant to be temporary to a large degree. Change-Id: If6ade6052f4b96670995399ae97ef7d2313f632a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* AutotoolsProject: Simplify using Project::projectFileIsDirty signalTobias Hunger2019-08-162-33/+10
| | | | | Change-Id: Idbb81a8d3ddd2f2d81b9060f228331a233fd6ccf Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: De-virtualize some more virtual methodsTobias Hunger2019-08-132-2/+2
| | | | | | | | | Use setters/getters for the bool flags in Project::needsBuildConfigurations() and Project::hasMakeInstallEquivalent. Change-Id: I5ce937c3a5e8e0db627cda02a9007f8c28ccda0c Reviewed-by: hjk <hjk@qt.io>
* Autotools: Remove dead codeTobias Hunger2019-08-132-10/+0
| | | | | Change-Id: Ie34b1560992a3466568be80ddc2a234e9011a1ce Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Use RAII pattern for parsing start/stop signallingTobias Hunger2019-08-093-9/+13
| | | | | Change-Id: I13de537140f265db3e3d0ab1cd924d6897cd90c8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Add convenience Project::addTargetFor{Default,}Kithjk2019-08-011-4/+2
| | | | | | | Less noise on the user side. Change-Id: I5cdf4af4910a3cc1ee0af1b43fcbc7329a6d59db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use some setters for GenericMakeStephjk2019-07-261-1/+2
| | | | | | | | | Instead of using constructor arguments. This makes the constructor signatures uniform and allows construction of the steps by Id via the factories. Change-Id: Idba1b04ec674e36c39950d5949d42ac8043b28c3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Avoid warning on empty expressionshjk2019-07-231-1/+1
| | | | | | | | For some reason, Q_UNUSED includes already a semicolon, adding one on the user side creates an additional empty statement. Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Make the project managers tell the code model about include pathsChristian Kandeler2019-07-121-1/+1
| | | | | | | | ... from the environment. Fixes: QTCREATORBUG-17985 Change-Id: I9b54e550121cfcc0684a6e173337d59d235c6107 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* ProjectExplorer: Merge BuildConfigurationFactory::availableBuildshjk2019-06-272-25/+10
| | | | | | | ... and availableSetups as far as mechanically possible. Change-Id: Ia1d7babe943eea25da97cef7838187c234378673 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Align signatures of BuildConfigurationhjk2019-06-272-3/+4
| | | | | | | | | | ... availableBuilds() and availableSetups(). Goal is to merge them and inline all the local createBuildInfo() functions. Change-Id: I9f19093163808b6da6dc83977894420e08a1edd9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer etc: More FilePath usagehjk2019-06-262-3/+3
| | | | | | | Mostly for project files. Change-Id: Icb6059f80758865e42cc9f9c092ec6782770dfd7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* AutoTools: Prefer build step ids for setting up the build configurationhjk2019-06-266-38/+30
| | | | | | | | Essentially a proof-of-concept that knowing the actual classes is not needed. Change-Id: I82b1664c93a25e418860bda77f66ec77144cf658 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotools: Use new step widget update logic more intensivelyhjk2019-06-254-59/+36
| | | | | Change-Id: I4dbd1c331152a408b6d7a60a4cbc793995153364 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Start centralizing BuildStepWidget update logichjk2019-06-253-45/+19
| | | | | | | ... and use the autotool configure step as guinea pig. Change-Id: I0bbc9fee70b3c8626eb0dec0f728e8368f860484 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Prefer ProcessParameters::setCommandLinehjk2019-06-243-15/+19
| | | | | | | ... over setting command and args individually. Change-Id: Iec7c8d3a0b05fb8fa0639f7ddbe7ccdc7387d2a2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-287-14/+14
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qt Creator CMake portCristian Adam2019-05-171-0/+15
| | | | | | | | | | | | | | Based on Tobias Hunger's work from a few months ago. The CMake configuration needs libclang and Qt paths specified as CMAKE_PREFIX_PATH. Auto tests are run with "ctest". At the moment the pass rate is 87%. Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Use Utils::FileName in ProcessParametershjk2019-05-153-16/+12
| | | | | | | For the command and the working directory. Change-Id: Ia69dc7100aeb57bb6e1b35f4dd4f3cf3763d8cda Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* AutoTools: Inline AutoTools::defaultBuildDirectory()hjk2019-05-033-8/+2
| | | | | | | Only one caller. Change-Id: I9cf92417deaf48a513bdfefd0c65419726e5959a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Consolidate setup of build dir aspecthjk2019-04-291-8/+1
| | | | | | | | | | This is getting repetitive. There's a new connect too, that's not wrong in the current two uses and will be helpful in the upcoming Qbs one. Change-Id: I4a4923a43937922c66be1f73822103b1e3e7b077 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* AutoTools: Use the base BuildConfiguration config widgethjk2019-04-296-161/+15
| | | | | Change-Id: I928b9bc7adc3424008ead27fe8457d345e1bcda5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux: Retrieve deployment info from local install rootChristian Kandeler2019-04-231-0/+2
| | | | | | | | | | | | | | | | This provides correct deployment information as seen by the build system when Qt Creator cannot retrieve it directly. It's most useful for autotools and cmake projects, but can also help with qmake in certain edge cases. [ChangeLog] It is no longer necessary to provide a QtCreatorDeployment.txt file when using CMake projects with remote Linux devices. Fixes: QTCREATORBUG-21855 Change-Id: I27e07a45dd1565e489f4b573cc3fff8191c57d9b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: hjk <hjk@qt.io>