aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager
Commit message (Collapse)AuthorAgeFilesLines
* Android: Introduce constants for Android ABIsAlessandro Portale2020-07-261-2/+2
| | | | | | | | | Avoiding string duplication prevents typo-related runtime errors and allows an IDE to use find symbol rather than plain text search. Change-Id: I7fba7c7c5cf90c0b371efce3b575537b2708dd0f Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: regression fix for warning missing ANDROID_ABISAssam Boudjelthia2020-07-231-1/+1
| | | | | | | | Ammends 27514fa94d40905809cc2ab80935d77d61185165. Task-number: QTCREATORBUG-23291 Change-Id: Iadf33f9c60a738c9ee4c810bb065667cab29aa92 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Warn if the selected device main ABI is not selectedAssam Boudjelthia2020-07-234-1/+13
| | | | | | Task-number: QTCREATORBUG-23291 Change-Id: I2ae13edaee30c6548a37e077c18f508a42b42d25 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Fix lupdate issuesEike Ziller2020-07-171-1/+1
| | | | | Change-Id: I950d2f53fcc03ba447140f3c6957422ca40111b5 Reviewed-by: hjk <hjk@qt.io>
* QMake: highlight REPC qmake variables in pro filesDavid Schulz2020-07-141-0/+4
| | | | | | Fixes: QTCREATORBUG-24346 Change-Id: I07b8533b58233f15224341d1e9544f21a4fc2047 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Core/Utils: Migrate further to Utils::Idhjk2020-07-0618-30/+30
| | | | | | | | 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>
* Wizards: Update templates in regard to deprecation warningsChristian Kandeler2020-06-301-7/+1
| | | | | | | | | | | The QT_DEPRECATED_WARNINGS macro has no effect anymore, so let's remove it along with the huge chunk of comments that took up an inordinate amount of space in the resulting project file. The concise comment for the QT_DISABLE_DEPRECATED_BEFORE macro is perfectly sufficient. Fixes: QTCREATORBUG-24244 Change-Id: I549c16c2c037bb64c2833e4807047ab3a8b2103f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* More QRegularExpression and include for Qt 6hjk2020-06-251-12/+15
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: Ia537e26efd3f37319c38d906e569b255768371f9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Icons cleanup: Remove unused icons and deduplicate identical pngsAlessandro Portale2020-06-228-14/+1
| | | | | | | | Accordingly Adjust the svg element Ids to new png locations in the source tree. Change-Id: I717dd7165c571e69322a1cce8d609f49c6bc75bc Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Handle various versions for QAbstractSocket::SocketError{Occurred}hjk2020-06-191-2/+6
| | | | | | | | | I don't think it's worthwhile to put that in some header, it's only four occurrences. Task-number: QTCREATORBUG-24098 Change-Id: Ic4e505f264a5d9970d8be1071c849d2bb3389746 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* All: Use Utils::SkipEmptyPartshjk2020-06-171-4/+4
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: Iab45de9a9c17ddc39a0e343b1175d4f6cb94b098 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix plugin unit tests when using projectsChristian Stenger2020-06-172-3/+7
| | | | | | | | | | | | | | The ClangTools and the AutoTest plugins use an internal mechanism to load and configure a project when performing their integrated unit tests. Both assumed to have exactly one kit present for these tests. Make it possible to have more kits present when starting with existing settings or if more kits get automatically generated when starting with clean settings. Change-Id: If2bc66320c4854f1d34a19d17107e8f0b7d64d39 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Various places: performance-for-range-copyAlessandro Portale2020-06-151-2/+2
| | | | | Change-Id: I475990d32a5211d31a77782667a2dfedba134137 Reviewed-by: hjk <hjk@qt.io>
* clang-tidy: Consider context when encountering duplicate filesChristian Kandeler2020-06-121-4/+12
| | | | | | | | | | | Prefer source files from contexts where we know that they actually get built and thus should have includes and compiler flags properly set up. Also fix the qmake and qbs project managers to not mislabel any non- application products as libraries. Fixes: QTCREATORBUG-23394 Change-Id: I0d122c7b58e12d14d68a1ca7337df83074299cd7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Use dialogParent() instead of mainWindow()Eike Ziller2020-06-022-5/+8
| | | | | | | | | | There are very few reasons to use mainWindow() directly. Especially for modal dialogs, using dialogParent() is important, since that guarantees the stacking order in case of other dialogs currently being open. Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Give the Task class an explicit summaryChristian Kandeler2020-05-141-1/+1
| | | | | | | | | | | | | We'd like to create more useful tasks from compiler output, that is, try harder to identify consecutive lines that refer to the same issue and create one task for them, rather than one for each line. In such "aggregate" tasks, the first line will not necessarily carry the main information. Therefore, we make it explicit what this main information is by introducing a dedicated summary member. Also streamline the font handling for compile tasks. Change-Id: I933f2643a13c710dab1ab548c56669b129026eb5 Reviewed-by: hjk <hjk@qt.io>
* Fix clang 10 warnings about unnecessary copies in range loopsChristian Kandeler2020-05-121-1/+1
| | | | | Change-Id: I3b57869b5a04528518bc432b76768b01e3f53e81 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmakeProjectManager: Suppress parsing for inactive build configurationshjk2020-04-301-0/+6
| | | | | Change-Id: I25bf1cd4e1382ecf55df853f4f1ee3c16657a2f4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmakeProjectManager: Use private for QmakeProject datahjk2020-04-301-5/+6
| | | | | Change-Id: I79855579e0246ba910c1794f30e69ff8dbe18329 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmakeProject: More and better tracinghjk2020-04-302-15/+27
| | | | | | | | Hide the parameters behind yet another macro to get a uniform layout and avoid parameter evaluation in the normal non-traced case. Change-Id: Iaf24b0f1b285c8f664f8b3476ae82c39c1a2d7dd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmakeProjectManager: Differentiate between different types of projectsChristian Kandeler2020-04-301-4/+20
| | | | | | | | | | | | ... by using different icons in the tree. So far, Qmake project nodes looked annoyingly uniform, which was a hindrance to understanding their structure. We now use the same differentiation as in qbs, that is "project" (SUBDIRS pro file), "product" (app/lib/other) and "group" (pri file), which conveys much more information at a quick glance. Change-Id: I04ca2aeccb9240876c0fb5cd1310e0b199eb3e97 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-241-2/+7
|\ | | | | | | | | | | | | Conflicts: src/plugins/cmakeprojectmanager/cmakekitinformation.cpp Change-Id: I90ef0063ed24e23bcb3d73fff086f50324faa1e2
| * QmakeProjectManager: Fix missing run button activationhjk2020-04-241-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem could be reproduced as follows: - open any bigger qmake based project (e.g. QtCreator) - de-activate all kits - activate one kit - wait until the first parse (e.g. Debug build finished) - switch to Profile, and toggle the Shadow build button The toggling re-starts the parsing. The parse guard will not be released in decrementPendingEvaluateFutures() (arguably correct as the parsing as a whole is not done). On enteringing incrementPendingEvaluateFuture() due to the re-start, the guard still guards the parse, but a new guard is created in guardParsingRun(). As this happens while the build system isParsing() is true, the created parse guard will be "non-guarding". On assigning to m_guard, the original guard object will fire and then be replaced by the non-guarding guard, that never fires again, so the the build system will never have hasParsingData(), which is a condition for the run buttons to activate. As a workaround for people running into this issue in 4.12.0: Select 'Run qmake' from the menu (any subproject suffices), and let it finish. Change-Id: If7a55db56ec67bac2635fb9a745b9aaf6ca6a413 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Move build step name mapping to BuildManagerhjk2020-04-231-1/+1
| | | | | | | | | | | | | | | | ... and add some translation hints. Looks like a more natural place to live in. Change-Id: I3e8917d826baaa7277dde744f3843d5ab7fe0afd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge output formatters and output parsersChristian Kandeler2020-04-236-34/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now only one piece of code needs to be written to both linkify output in an output pane and create tasks for it in the issues pane. The calling sites are also simplified. For instance, until now, build steps had to feed their output parsers manually and then push the created tasks up the signal stack in parallel with the actual output, which the build manager relied upon for cross-linking the output pane content. Afterwards, the output would get forwarded to the formatter (and parsed for ANSI escape codes a second time). In contrast, a build step now just forwards the process output, and task parsing as well as output formatting is done centrally further up the stack. Concrete user-visible improvements so far: - File paths in compiler/linker messages are clickable links now. - QtTest applications now create clickable links also when run as part of a build step, not just in the app output pane. Task-number: QTCREATORBUG-22665 Change-Id: Ic9fb95b2d97f2520ab3ec653315e9219466ec08d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | QmakeProjectManager: Add more detail do trace messagehjk2020-04-232-5/+13
| | | | | | | | | | Change-Id: Ide8917d826baaa7277dde744f3843d5ab7fe0afd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-212-35/+66
|\| | | | | | | Change-Id: I97e4fe727ca9560f2a1f4b93abcfb9fda091364e
| * Android: Persist ABI selection for multi-arch buildshjk2020-04-202-35/+66
| | | | | | | | | | | | Change-Id: I67fe60bc5a5bd0c086d36368fec4369e4744dab8 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | ProjectExplorer: Split up the IOutputParser classChristian Kandeler2020-04-163-7/+7
| | | | | | | | | | | | | | | | For symmetry with Utils::OutputFormatter. Task-number: QTCREATORBUG-22665 Change-Id: I148fed69dba042ad3ef26e080829c31cd3f357fd Reviewed-by: hjk <hjk@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-141-11/+10
|\| | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp Change-Id: I34c3d1fd5be90537e37d15e00b1a0d455d1bf81d
| * Fix invalid reports about Qt <-> project mismatchChristian Kandeler2020-04-081-11/+10
| | | | | | | | | | | | | | | | | | | | | | For instance, the warning was potentially erroneously triggered with examples distributed via the installer, as those are present only once for different installations with the same version number. Amends e4738904d9bc. Fixes: QTCREATORBUG-23753 Change-Id: I0dbb296cd974a3530222661c4b8cecc2106f0ea5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Utils: Replace FileChooser::path() by filePath().toString()hjk2020-04-092-9/+9
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Utils: Rename PathChooser::{f,setF}ileName() to {f,setF}ilePath()hjk2020-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | It's returning a FilePath, so it's a better fit. Keep the old versions as inline function now to ease downstream migration. Change-Id: I535887928018f42b92895c8b0c82527f0d55e5ca Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | Output parsers: Replace the chaining approachChristian Kandeler2020-04-093-18/+24
| | | | | | | | | | | | | | | | | | | | | | Use "flat" aggregation instead. This is another step towards the formatter/parser merger. Along the way, also fix some some subclasses (mostly in BareMetal) that erroneously forwarded handled output to other parsers. Task-number: QTCREATORBUG-22665 Change-Id: I12947349ca663d2e6bbfc99efd069d69e2b54969 Reviewed-by: hjk <hjk@qt.io>
* | IOutputParser: Replace std{Out,Err} with a single parameterized functionChristian Kandeler2020-04-082-3/+8
| | | | | | | | | | | | | | | | Another step towards parser/formatter unification. Task-number: QTCREATORBUG-22665 Change-Id: I6de86b3aee2c54585cdd4b06d21b0ea67300aeac Reviewed-by: hjk <hjk@qt.io>
* | Output parsers: Generalize the search directory conceptChristian Kandeler2020-04-073-3/+3
| | | | | | | | | | | | | | | | | | | | All parsers can now have search directories, not just the GnuMakeParser. This allows us to get rid of the "task mangling", removing another instance where the order of parsers in the chain mattered. Task-number: QTCREATORBUG-22665 Change-Id: Id0d55522ae6800afd9f50ff36546224b0d8bb382 Reviewed-by: hjk <hjk@qt.io>
* | ProjectExplorer: Clean up IOutputParser interfaceChristian Kandeler2020-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | - Remove unneeded/unused functions. - De-virtualize where possible. In particular, after untangling a number of self-referential redirections, it became apparent that the outputAdded() infrastructure was entirely unused. Change-Id: I51e1beed008df2727b42494b087efa476342397e Reviewed-by: hjk <hjk@qt.io>
* | Qmake: Move context build action handling to build systemhjk2020-03-305-94/+60
| | | | | | | | | | | | | | | | Among others, this removes the wart introduced in 4d3d2d0dfb4e. Change-Id: Iafa63f6e4cca327a1d1dd6a8bbcfaa10032327db Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-261-0/+1
|\| | | | | | | | | | | | | Conflicts: src/plugins/coreplugin/dialogs/shortcutsettings.cpp Change-Id: I1f21845350bb69268ca51bc77167a8244adce22a
| * Qmake: Work around crashhjk2020-03-251-0/+1
| | | | | | | | | | | | | | | | | | The condition that's checked now triggered when playing around with changing the JS expression that creating the default build directory name. Change-Id: I221be8cefb6918c10c383c23ee7cde73d3683e40 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | BuildSystem: Add buildConfiguration() methodTobias Hunger2020-03-232-42/+43
| | | | | | | | | | | | | | | | | | Add a buildConfiguration method that returns the saved BuildConfiguration or the active BuildConfiguration if none is set. Change-Id: I8af25aa1037f59a0091900bac7eb84fed9e5fbb0 Reviewed-by: hjk <hjk@qt.io>
* | Qmake: Move buildDir() from ProFileNode to QmakeBuildSystemhjk2020-03-239-33/+23
| | | | | | | | | | | | | | | | | | More a buildsystem than a node thing in general and removes one use of activeBuildSystem and one use of the ProFileNode -> ProFile back pointers. Change-Id: Ie007fcd0db9e9294a08b3a1cd68f825c7d3dc9b8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | BuildSystem: Clean up use of BuildSystem::(kit|target|project)Tobias Hunger2020-03-202-23/+20
| | | | | | | | | | Change-Id: I4852689cb54d02bb278f9cd596f1de506a43fc04 Reviewed-by: hjk <hjk@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-201-0/+2
|\| | | | | | | Change-Id: Ia8254720b2ba6e3e7b859017e1c2b6e289bed771
| * Android: Handle ANDROID.APK role in QmakeProFileNodeAssam Boudjelthia2020-03-191-0/+2
| | | | | | | | | | Change-Id: Ifac2377248f72c07f087fd4b294dc21e93a0ed7c Reviewed-by: hjk <hjk@qt.io>
* | Qmake: Use a QmakeProFileNode instead of a generic nodehjk2020-03-192-16/+16
| | | | | | | | | | | | | | ... in handleSubDirContextMenu overload, obsoleting one cast there. Change-Id: Ic6e8bfeee0fa2f8838a29df8123efe10f2faefd4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-193-0/+9
|\| | | | | | | | | | | | | Conflicts: src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp Change-Id: I2a0ccb84560174c5170d5baaff526c0e095f0ba0
| * Qmake: Add some debug output for file add/remove operationsChristian Kandeler2020-03-163-0/+9
| | | | | | | | | | | | | | | | This will help collecting feedback from users affected by bugs. Task-number: QTCREATORBUG-22508 Change-Id: Idfc22245587dd2d71b229b4ab6c7562fb7a5ecfc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add some additional shortcuts for actionsEike Ziller2020-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Cmd+Shift+- for decreasing font size on macOS. Do not add Cmd+= for increasing size, because it conflicts with the existing shortcut for "Replace and Find Next". Sprinkle some Backspace shortcuts in addition to Delete for removing items. There are (laptop) keyboards that either do not have a designated Delete key (requiring Fn+Backspace) or where the Delete key is not conveniently located/sized, and there is no benefit in making the distinction in that case anyhow. Fixes: QTCREATORBUG-706 Fixes: QTCREATORBUG-13733 Change-Id: I06274a9810b82800ec6158a883c95d2a7ae2465e Reviewed-by: David Schulz <david.schulz@qt.io>
* | QmakeProjectManager: Use delay timer from base classChristian Kandeler2020-03-162-11/+5
| | | | | | | | | | Change-Id: I38b55efc34b34b58430d1d665eb6672c3de89b4f Reviewed-by: hjk <hjk@qt.io>