summaryrefslogtreecommitdiff
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Todo: Compile fixhjk2019-07-291-1/+1
| | | | | | | Amends 94041d7b44998. Change-Id: Ifbcf7007de5a29c83165cfba6ac4f94256e52585 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Qbs: Three more cases for Utils::to{Set,List}hjk2019-07-292-3/+3
| | | | | Change-Id: I6a400b06ad26c8ee92f13c6bd8b6b0c9e317f897 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qbs: Use base project() in build step when possiblehjk2019-07-291-4/+2
| | | | | Change-Id: I8e6a1c9b06273ac77a3c7aa832d5ed4e63e5d475 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Todo: Replace last use of Java-style iteratorshjk2019-07-291-10/+6
| | | | | Change-Id: I4c6b4910522f2ec9eff6a7f615ea91bfaf99077d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* BuildManager: Sort includesAndre Hartmann2019-07-292-12/+10
| | | | | Change-Id: Ief44349de96c4ad51cc760dfce0a372d5732c5ab Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* BuildManager: ModernizeAndre Hartmann2019-07-292-9/+9
| | | | | Change-Id: I414748be50c74133f64e525d72ffcabc404c1e51 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Filter leading GDB messages during version detectionAntonio Di Monaco2019-07-291-1/+7
| | | | | | | | | | | | | | When using GDB through a script, additional messages can be printed before the line reporting the version number, and some digits of those messages could be interpreted as a version value, leading to wrong version detection. This patch searches for the "GNU gdb" tag first, so the correct line is evaluated. Change-Id: Ief64a056a20a963ad01c44941777361abcce00fc Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: hjk <hjk@qt.io>
* Skip pure virtual functions in "Insert Definition From Declaration"Antonio Di Monaco2019-07-291-1/+1
| | | | | | | | | | | | | Pure virtual functions do not need a definition. The issue is that, when the codebase is very huge (hundreds of thousands of files), the match method starts exploring the whole codebase, searching for an already present definition that will never be found, so the QuickFix wastes time for nothing and freezes the UI. Change-Id: Ia17740d740afcb40ec4f1b3237d8b9f5c1e3d54c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Add open online documentation button to help viewerTasuku Suzuki2019-07-296-12/+50
| | | | | Change-Id: I21685005709332b1201aaf08804399ecbd82bf7c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Compile fix with recent Qt devhjk2019-07-2951-326/+154
| | | | | | | | | The reasoning in 1b4766e26c6b did not take into account that the scope of QT_NO_JAVA_STYLE_ITERATORS may change over time, as done with f70905448f6 in Qt base. Change-Id: Ib1966ff26c4d36d5f62e149d6b45baa4aecf825d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Support CMAKE_CURRENT_LIST_DIR and CMAKE_CURRENT_SOURCE_DIRTobias Hunger2019-07-291-8/+8
| | | | | | | | | | | | | | Support CMAKE_CURRENT_LIST_DIR and CMAKE_CURRENT_SOURCE_DIR as variables in filenames when handling links in the CMake editor. Having a way to find out variable values in CMake would be nice, till that arrives, we have to live with hacks to make the most common variables work:-/ Task-number: QTCREATORBUG-21065 Change-Id: Iffaaae8665e0662226d08b88de37b66d5a5fc4d4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Extract and show more CMake location information for targetsTobias Hunger2019-07-294-76/+115
| | | | | | | | | | | | Report more cmake file locations that are relevant to a target in the "Open..." menu entry in the target's context menu. This information is extracted from the backtrace information that is provided by fileapi. Change-Id: I01659a6cc7254cd0ef6b533a0785d2f15d31c3c6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: hjk <hjk@qt.io>
* ProjectNodes: Use QVector instead of QList for LocationInfoTobias Hunger2019-07-295-10/+14
| | | | | Change-Id: I5bad9e1849b9d752de24626013c9102242d11a0a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* BareMetal: Fix auto-detection of C++ IAR toolchain for STM8 architectureDenis Shienkov2019-07-271-1/+1
| | | | | Change-Id: Id466b663990a7d43acc4b6d6ca30163358f2ad44 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* BareMetal: Auto-detect IAR EW toolchain for STM8 architectureDenis Shienkov2019-07-261-1/+6
| | | | | Change-Id: Iebf99149c2b15d5d95510abbda3527e3e1147e15 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* BareMetal: Add STM8 architecture for SDCC toolchainDenis Shienkov2019-07-261-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previous implementation of SDCC toolchain based on an assumption, that the default target architecture always is MCS51. But, the SDCC compiler support multiple architectures: * http://sdcc.sourceforge.net/ Since we have the new STM8 architecture in the Abi::Architecture enumeration, it is makes sense to add support for this architecture and to the SDCC compiler. Right now, the SDCC compiler will be auto-detected as two instances: * with mcs51 architecture * with stm8 architecture by analogy as it does for the MSVC compiler for multiple x86, x86_64 and so forth architectures. In case the SDCC compiler is manually added, the user can choose a desired architecture (mcs51 or stm8) from the combo-box. Change-Id: I9b7d34f9064ea34c94dab7f1a7e3b64b190f7cb0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Introduce new STM8 architectureDenis Shienkov2019-07-262-0/+5
| | | | | | | | | | This architecture is useful in programming of a bare-metal devices, based on 8-bit microcontrollers from STMicroelectronics: * https://en.wikipedia.org/wiki/STM8 Change-Id: Ie5d28a29aaa36e65a29bb96f988e6ee4327e1e9e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectNodes: Support different priorities for LocationInfoTobias Hunger2019-07-263-3/+19
| | | | | | | | | | Allow to have different priorities for LocationInfo in the FileNodes. Use this to group the different LocationInfo items in the context menu. Change-Id: I13369d996841891ba7165684fe7bfb7687f9d523 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Use some setters for GenericMakeStephjk2019-07-264-12/+20
| | | | | | | | | 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>
* ProjectExplorer: Propagate build environment changes more directlyhjk2019-07-269-49/+9
| | | | | | | | | | | | | | | To check this still works I used a CustomRunConfiguration with a executable name $AAA, the tooltip there tries to expand that (and complains that $AAA is not an executable). By inserting a AAA=/bin/ls in the build environment, the tool tip on the run config exectable path chooser changes appropriately, same for changing the AAA value. The connection seems also needed, dropping it destroys that updating. Change-Id: I28965cbd3ce530a83d98808ca7624a6799cd9800 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix windows buildChristian Kandeler2019-07-261-1/+1
| | | | | | | | Nested classes of exported classes are not exported automatically. Amends df8ef72aec. Change-Id: I73b8986c2313d1fa8a2b3a9dc58ff70dd129b6c7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CMake: Fix working directory for targets in fileapi modeTobias Hunger2019-07-261-39/+37
| | | | | | | | Prepend the full path to the build directory. Change-Id: I55111b656fd4b99ee68517c09117f142e88947b1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Remove unused BuildStepList::steps(...) overloadhjk2019-07-262-6/+1
| | | | | Change-Id: Idf0aa783c4492eab06f830788df7a480f85c8150 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Remove one unused Target::subscribeSignal overloadhjk2019-07-261-9/+0
| | | | | Change-Id: I01df947a1dbd8b0518053dc1db528725c48de820 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Wizards: Do some input validation on repository URLsChristian Kandeler2019-07-268-45/+80
| | | | | | | Fixes: QTCREATORBUG-18935 Change-Id: Ie2103cbe2899ea23caaedd4a6350c78b5f380ab9 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Qbs: Simplify builddir change handlinghjk2019-07-261-5/+2
| | | | | Change-Id: Ie2eff91d58df007b53a86b353423e4183b845a80 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Remove unused function BuildStepList::allOfTypehjk2019-07-261-10/+0
| | | | | Change-Id: Ic06040ff874c308db561897bd1722081242e63fd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlDesigner: Remove one use of Java-style iteratorhjk2019-07-261-8/+2
| | | | | | | | | Also take advantage of the fact that filtering a list can be done more straightforward than creating a full copy and removing non-matching items. Change-Id: I95e983873d4273b2302c4b3bbaeddb4390310d99 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Debugger: Code cosmeticshjk2019-07-268-26/+32
| | | | | | | | Remove uses of foreach, ... Change-Id: I3997d4dffc63d58c386c70b08063ecb894ef1abb Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* ClangTools: Sanitize parameter orderNikolai Kosjar2019-07-266-19/+19
| | | | | | | | | The path to the serialized diagnostics log is the main parameter, so put it first. Change-Id: I8865aad302b0e5d3008dab606ab774167cebda3c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Merge "Merge remote-tracking branch 'origin/4.10'"The Qt Project2019-07-261-1/+1
|\
| * Merge remote-tracking branch 'origin/4.10'Eike Ziller2019-07-261-1/+1
| |\ | | | | | | | | | Change-Id: I427280fdb207b878000697dfd37595ffdb26f4e7
| | * QmlProfiler: avoid using Q_FOREACH over QVarLengthArrayMarc Mutz2019-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The squeeze() function is called by clients for QVLA's, which means it's copying 1-2KiB of data (depending on sizeof(value_type)) just to iterate over a small part of it. Use a C++11 ranged for loop. Change-Id: I2c33ae0c5a3d9d941cd9e385fc6bbb4fb0fa3c2c Reviewed-by: hjk <hjk@qt.io>
* | | Standardize on int for line and column valueshjk2019-07-2662-349/+344
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently tons of warnings show up for presumably "problematic" singned <-> unsigned and size conversions. The Qt side uses 'int', and that's the biggest 'integration surface' for us, so instead of establishing some internal boundary between signed and unsigned areas, push that boundary out of creator core code, and use 'int' everywhere. Because it reduces friction further, also do it in libcplusplus. Change-Id: I84f3b79852c8029713e7ea6f133ffb9ef7030a70 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* | CMake: Make fileapi not race against its own reply file detectionTobias Hunger2019-07-253-11/+11
| | | | | | | | | | | | | | | | | | | | | | Fix broken logic to prevent CMake fileapi from detecting the change its own cmake run triggered via file watching. Remember the last file that was parsed and do not attempt to parse this again. Remember the file on a per-project basis, too:-) Change-Id: Ia6e155b65d77994f6e3d2a3677f770a4ba53539d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: Report absolute paths to executables in fileapi modeTobias Hunger2019-07-251-4/+10
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-22610 Change-Id: Ib6abf1ce6d94abd9dc063f4f559f02f2d4ea8798 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | WebAssembly: Initial commitAlessandro Portale2019-07-2530-1/+1156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds WebAssembly support in the shape of a plugin. - Auto-detection of the emsdk toolchain - Handling of "asmjs-unknown-emscripten" Abi - Binary detection of WebAssembly libraries - Auto-creation of a "WebAssembly runtime" device (with icon) - Runconfiguration that launches the application via the "emrun" tool which spawns a local web server and runs the application on the chosen web browser. Limitations: - So far only tested on Windows/MinGW and Linux - Not yet tested with Qt WebAssembly installation form the installer Only tested with self-built Qt and manually added kit - The attempt to launch an application via emrun, while a previous application is still running, will fail. The reason is that the web servers spawned by emrun listen to the same default port but serve only the content of one application. Possible solutions: We could either spawn the different web servers with different ports, or we could use one single web server instance which serves the whole default project location (home directory). Task-number: QTCREATORBUG-21068 Task-number: QTCREATORBUG-22249 Change-Id: I1a16fbe52382d45c37e9bc624a943a6ca475fa09 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Import wizards: Visually improve the selected state of iconsAlessandro Portale2019-07-254-0/+0
| | | | | | | | | | | | | | | | | | | | This change adds a thin gray outline to the cvs, git and qmake/generic import wizard icons. In the selected state, they should now have a better visual contrast. Task-number: QTCREATORBUG-18936 Change-Id: I2a0f5dab74cdc5958f869a63756a4fc974ccad32 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | ClangTools: Use Utils::FilePath in log readerNikolai Kosjar2019-07-253-13/+16
| | | | | | | | | | | | Change-Id: I3a16c2eb3ac26a0265ba24f2c6f2126c79c6c660 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | CmakeProjectManager: Fix warning about redundant std::move()Christian Kandeler2019-07-251-2/+2
| | | | | | | | | | Change-Id: If456698d62c0bdcd51992d62510e07d00a4b3fdf Reviewed-by: hjk <hjk@qt.io>
* | CMake: Add locator filter to open CMake target definitionsTobias Hunger2019-07-253-3/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a "cmo" filter to the locator that will open the CMake target definition in the editor. Note that this is based on the target data extracted from cmake. For tealeaf-reader and server-mode this information is guessed based on the targets source directory (plus CMakeLists.txt). These modes will just open that file. For fileapi the information is accurate and based on the backtrace that comes with the target information. "cmo" will open the exact file/line from the backtrace here. Task-number: QTCREATORBUG-18553 Change-Id: I4ee0eb25d1d763bd0d8033e506bf85cb2bc1f2dc Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | ClangTools: Add using for QList<Diagnostics>Nikolai Kosjar2019-07-2510-35/+38
| | | | | | | | | | | | Change-Id: Ie7978fc33386d083b786ad75b3b6700125b11fec Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | CMake: Report extra information of cmake in tooltipTobias Hunger2019-07-251-2/+11
| | | | | | | | | | | | | | | | | | Report version information as well as support for fileapi and server-mode in a tooltip you get by hovering a cmake version in Tools->Options->Kits->CMake. Change-Id: I2c4070b0b26eb4a056925ac5e10774e93ad62c46 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: Do not warn when fileapi-enabled cmakes have no CodeblocksTobias Hunger2019-07-251-1/+2
| | | | | | | | | | | | | | | | | | Do not warn when fileapi-enabled cmake tools do not have the Codeblocks extra-generator set in the Kit. This is only necessary for the tealeaf-reader. Change-Id: Id3aa9df2ec5aa8c2de8b0a5bef8c751e54d72b42 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | CMake: Fix fileApi detectionTobias Hunger2019-07-251-5/+15
| | | | | | | | | | | | | | | | Fix fileApi detection: It returns a list of versions in -E capabilities output, not just one version. Change-Id: I94a59806f3c4577b01342cae6f05cdc8385131a8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | ClangTools: Remove unused membersNikolai Kosjar2019-07-256-50/+9
| | | | | | | | | | | | Change-Id: I0f54705d93f9c12472afcb9587d55f6b9e3740a2 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | CMake: Make CMakeParser work againTobias Hunger2019-07-255-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMakeParser used to set relative paths in the Tasks it creates. Since is problematic: Task tries to match that relative file name to one of the files that exist in the session. At the time cmake runs only the top-level CMakeLists.txt file is known, so this logic will map all the relative file paths to that file. Make sure to write absolute file paths into tasks so that this mapping is not attempted. Change-Id: I4ab72df21f18d2eff27ca9a502d605e00df2ad85 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | CMake: Store more information in CMakeTargetLocationFilterTobias Hunger2019-07-251-8/+28
| | | | | | | | | | | | Change-Id: I8bca4d6b591ccdf890c971e86e2e43dbf859eb44 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | QmakeProjectManager: Preserve line endingsChristian Kandeler2019-07-252-17/+24
| | | | | | | | | | | | | | | | ... when adding and removing files via the project tree. Fixes: QTCREATORBUG-2196 Change-Id: Ie4ee3a244c9089953cf414d9777fc65b6a8b9689 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Merge remote-tracking branch 'origin/4.10'Eike Ziller2019-07-259-144/+25
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/baremetal/iarewtoolchain.cpp Change-Id: I483e81d7e920e724fb7cde84a8f6fa9bce4cd518