aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Make the "lib" part of plugin and library locations configurable.Christian Kandeler2014-02-272-2/+4
| | | | | | | | Can now be set to e.g. "lib64" if required. Task-number: QBS-343 Change-Id: I6f34ade37f39400cc5fde63133a464565feb34c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Do not put the plugins where the resources are.Christian Kandeler2014-02-252-10/+10
| | | | | | | | | | | That's not where they belong. Also make less assumptions about the file path leading to them. Ideally, we should also do the latter for the stuff in share/, but then someone would have to touch the horrific qmake code in static.pro. Task-number: QTCREATORBUG-10074 Change-Id: Ide9c4b83dcf0cd7a62b57643b79caf05662358cb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Turn struct ScannerPlugin into a class.Christian Kandeler2014-02-131-1/+2
| | | | | | | To prevent forward declaration problems. Change-Id: I92f2d4ef5e3a2297136918e4d46b036f62661118 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* support transformers with an unknown number of outputsJoerg Bornemann2014-02-131-1/+1
| | | | | | | | | | | | | | | | To support different types of nodes in the build graph, we introduce the base class BuildGraphNode. Artifact now derives from BuildGraphNode. A RuleNode class is introduced that represents a rule in the build graph. Rules are applied in the build phase and not in a pre-build phase anymore. The handling of moc has been revisited. The fixed automoc pre-build phase is no more. This is the squashed merge of a feature branch. Task-number: QBS-370 Change-Id: If27cdc51cba8c9542e4282c2caa456faa723aeff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Prepare for using QT_NO_CAST_FROM/TO_ASCII.Jake Petroules2014-01-141-1/+1
| | | | | Change-Id: Ib39e49e896cbddf5a5bd851088500991d962355a Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2014-01-099-9/+9
|\ | | | | | | Change-Id: Iccf01f1dad3fca4a78c7d9b795fdef6df0181e9b
| * Incremented year in copyright infoRobert Loehning2014-01-089-9/+9
| | | | | | | | | | | | Change-Id: Ib7f9a00bb891fa39c5bc1f891ddbfba1e4d23227 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | use memcmp instead of strncmp in C++ scannerJoerg Bornemann2013-12-041-1/+1
| | | | | | | | | | | | | | | | We already know the actual string length, so there is no point in having the function figure it out itself. Change-Id: I34303ba07e46c634dac42228479ed59ae2966592 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | correct equality checks in C++ scannerJoerg Bornemann2013-12-031-13/+19
| | | | | | | | | | | | | | | | Instead of checking whether an identifier starts with a literal, we're checking for the exactly matching string. Change-Id: I944e0e204b977e661f68debb3a47aad76da69363 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | check for defines in C++ scannerJoerg Bornemann2013-12-021-12/+21
| | | | | | | | | | | | | | | | We must ignore Q_OBJECT, Q_PLUGIN_METADATA and friends, if there's a "define" identifier in front of them. Change-Id: Ica198e16f1ab5855db490fd67967d31d7b3b1a06 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | make code in cppscanner more readableJoerg Bornemann2013-12-021-7/+11
|/ | | | | Change-Id: Ie7821003fa8004a21ebc5847b7f79fa40ac7fa53 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix cppscanner file type passingJoerg Bornemann2013-08-301-5/+3
| | | | | | | Without the proper file type, Q_PLUGIN_METADATA wasn't found anymore. Change-Id: I9f753422fd8fd388f9e8c5a4ba1d49543dc45382 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* AutoMoc: do not scan files twiceJoerg Bornemann2013-08-271-1/+1
| | | | | | | | We scanned files for the Q_OBJECT macro and then again to find moc_XXX.cpp includes. This can be done in one pass. Change-Id: I3b14be2a922ce244730b3ce21e7803c605ba59be Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* don't pass file tags to scanner pluginsJoerg Bornemann2013-08-273-28/+30
| | | | | | | The scanners already know the file tags they're responsible for. Change-Id: If5ed47bfc011357737df08e3fe834ec8fcf4318b Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix qt.proJoerg Bornemann2013-07-051-1/+1
| | | | | | | | This plugin doesn't need QtXml. We've used the wrong variable anyway. Change-Id: If33b86ddc11352e3cc8e72cd43a0a36594c3cac9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Make the qbs project files embeddable in another project.Christian Kandeler2013-07-032-2/+2
| | | | | | | The qmake project files already have this ability. Change-Id: I9d01609525b410a7cf0bb86865aa85c5435bad03 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use the new sub-project feature in the qbs project files.Christian Kandeler2013-06-171-0/+8
| | | | | Change-Id: Ia30766b91ef28d05bc1f6109d6dedbb7d18bcf3d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* put plugins in a lib/qbs/plugins subdirJoerg Bornemann2013-06-112-4/+4
| | | | | | | | | Like Qt Creator we prepare our directory layout for Linux packaging. Task-number: QBS-308 Change-Id: I9e984cbfdf04bd8d50f5946989bd625060a29c02 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* build static qbs lib if static Qt is usedJoerg Bornemann2013-06-041-0/+1
| | | | | Change-Id: I397c1b830262d62f68de070a2e4777155728139f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make Depends.name and Depends.submodules case sensitiveJoerg Bornemann2013-04-171-1/+1
| | | | | | | | | Also rename modules/qt to modules/Qt and use this form consequently. Task-number: QBS-254 Change-Id: I2e994f2bc5f93d4f887e14ac224ab360c54ad029 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* add qbs files to build qbsJoerg Bornemann2013-03-153-0/+42
| | | | | Change-Id: I3aca8364a58ac26a495909c0313f8f0588784b9f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Allow fine-grained tuning of installation.Christian Kandeler2013-03-133-16/+23
| | | | | | | | | | - Potentially different prefixes for libs and plugins/modules. - Make it possible to disable installation of development files (headers, qbscore.lib on Windows). Change-Id: Ia153d17835f9f1b8d802b23c3689a2f72f656e50 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Install the plugin libraries and share/qbsAlejandro Exojo2013-02-222-0/+6
| | | | | | Change-Id: I003f991cb143de6af87a7b9a058cbb41efcbf50e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* do not scan qrc dependencies recursivelyJoerg Bornemann2013-02-063-8/+15
| | | | | | | | | | | | | | | | | | | The files referenced in a qrc file must not be scanned for further dependencies. Assume the following situation: - foo.qrc references bar.cpp, - bar.cpp includes bar.h We do not want to regenerate qrc_foo.cpp when bar.h changed. ScannerPlugin::usesCppIncludePaths has been turned into the flag ScannerUsesCppIncludePaths. We introduce the scanner flag ScannerRecursiveDependencies. If this flag is set, then every scan result is added to the list of file to scan. Typically, this will be set for include-file-like dependencies. Change-Id: I99e04f554fc34db3e0b90610bb3d20f7e6000c57 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove .ui file scannerJoerg Bornemann2013-02-061-35/+1
| | | | | | | Referenced headers in a .ui file are not a build dependency. Change-Id: Ie42b55fb804779c22aacc35018a7ae416d6cdfe9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* rename cpp.cpp to cppscanner.cppJoerg Bornemann2013-02-052-1/+2
| | | | | Change-Id: Icfa2213b364b5eed8065fccb565ac6166449a5eb Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* rename qt.cpp to qtscanner.cppJoerg Bornemann2013-02-052-1/+2
| | | | | Change-Id: I517afb18088d28a7d1ff3f6b1c2e75d252f46da0 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* update copyright yearJoerg Bornemann2013-01-099-9/+9
| | | | | Change-Id: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix MSVC buildOrgad Shaneh2012-11-191-1/+1
| | | | | Change-Id: Icb8ea583b5a1a4303550e5482ecdccc674522267 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* cleanup .pro filesJoerg Bornemann2012-11-162-4/+2
| | | | | | | | Do not use DEPENDPATH but CONFIG+=depend_includepath. Do not add "." to INCLUDEPATH. Change-Id: I3532833aef13d32f8278074283fcd12256d38143 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix warnings about unused variables in C++ lexer.Christian Kandeler2012-10-181-12/+12
| | | | | Change-Id: I8331ff95f5b3c80e15cd71dbce2bb6de17a49c8e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Get rid of more irregular console output.Christian Kandeler2012-10-111-1/+0
| | | | | | | | | - Remove some fprintf(stderr) calls from library code. - Use the qbs logging facilities in all tools and introduce the convenience class ConsoleLogger to help with that. Change-Id: I3da567b618edafc8755db5e072af5d89bfa17307 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* license and copyright updatedJoerg Bornemann2012-10-089-253/+181
| | | | | | Change-Id: I0c0b3035514ee6b735e85c098029fa2f41edb6ff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* support Qt5 plugin metadata json filesJoerg Bornemann2012-10-081-11/+24
| | | | | | | | | | | | For the metadata .json files of Qt5 plugins, qbs now supports the qt_plugin_metadata filetag. C++ header files are scanned for the Q_PLUGIN_METADATA macro. If it is found, the qt_plugin_metadata file is added to the dependents of the resulting moc_XXX.cpp file. Change-Id: I4b68fd9a99847640f87a40e15819382ead74b0d3 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Rework #includes.Christian Kandeler2012-10-021-7/+5
| | | | | | | | | | | | | - Do not use the Qt module as a prefix. This serves no purpose and potentially introduces incompatibilities between different Qt versions. - While we're at it, also - sort #includes by file name - use the official file name instead of the internal one (e.g. QtGlobal instead of qglobal.h). - remove some excessive whitespace Change-Id: I9358b2571622ca661936382305d7f159b9770008 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix warnings in cpp scannerJoerg Bornemann2012-09-261-2/+2
| | | | | Change-Id: Iae82ac9c456e994ef9764ea897a9a902e11bfbf5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Added include parser support for ObjC++ and ObjCRuslan Nigmatullin2012-09-201-4/+30
| | | | | Change-Id: I749bee8a6ad3f03a6fa63432d88ccf4c322fad6d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* scanning: only collect include paths if the scanner needs themJoerg Bornemann2012-06-073-6/+13
| | | | | Change-Id: Ib3ee7ff93d05b2fa2e1a2d69b5088243454586ff Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
* use C++ scanner for C and Windows .rc filesJoerg Bornemann2012-06-051-1/+21
| | | | | Change-Id: I1bc39c99b1884c43ca20f23255aff526e32f6644 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Kill File/Textfile script plugin.Daniel Molkentin2012-02-238-509/+1
| | | | | | | | Improves startup performance and simplifies linking against static Qt. Change-Id: I6045c072701ab22473dee30997465921578c32af Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix .ui scannerJoerg Bornemann2012-02-221-2/+2
| | | | | | | Header file dependencies are in <header> tags, not <include>. Change-Id: I669653c3e1ab3fb4c2c41f469caa2349a753569f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Long live qbs!Joerg Bornemann2012-02-1520-0/+2695
Change-Id: I412793e868919a9ac99611616f292e7047f1ebcf