summaryrefslogtreecommitdiff
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* introduce class BuildGraphNodedynablasterJoerg Bornemann2013-11-271-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support different types of nodes in the build graph, we introduce the base class BuildGraphNode. Artifact now derives from BuildGraphNode. A - yet unused - RuleNode class is introduced that represents a rule in the build graph. Change-Id: Ie1ad5e7a9e65bfd5f99d3e824737516053de0f94 ***new artifacts hash in ProductBuildData Change-Id: I50521ec64f734bfb3662759076fa5e7912ac084e ***automoc fixup Change-Id: Ie2bb228ae38d63deccc600d67d283bc3beda9fec slightly nicer rule debug output Change-Id: I60ddef73cd7f0a67055f2d56e6dbe7fa45ddd450 create RuleNode objects and add them to roots Change-Id: I51a0f89b98cda524d34888ab758d7bd397d82f00 ***execute rule nodes on build Change-Id: I291c32868cd982e37393d6bc8d696f2b63fbff50 ***ArtifactSet::fromNodeSet Change-Id: I7586bcfbe43406c22b1ee1a1fd826beaa247164f ***update after rebase Change-Id: I5f73afc80b746b11eeb83aeadf29c2358accbab8 ***phonytarget Change-Id: I587b7e072e54b866e8d5ea37c874e6a8baa550e0 update after rebase Change-Id: I6017c0cbe9244fea04d513f53e3a2a85092bf962 skip nodes early We must skip Building and Built nodes. m_leaves can contain duplicates now. Change-Id: If275106a47c403a455103f4deeb20049548007f5 debug message Change-Id: I90e238eef72a8a02fb0a9f2c77715f5f15c1442d disable phony thingy Change-Id: I7bb60b850b96b65ab738c11e96c3a84cbe58d2f7 connect each output of a rule to the rule itself Change-Id: I159d76c4b63094058cc9a07ccc2d0b67c7ce06e6 TagScanner Change-Id: I4741e48cd674c0ca830ee1b4d05b59a8c542694f TagScanner deps Change-Id: If3e43a7ac25616cd151229684a085ac8ee787645 update after rebase Change-Id: I58d49a5ed1049a17733fc2154588f12c1cda53e6 only root tag scanners in product Change-Id: Ia94732a5632156a5ec3c5518c9596cd4cefac105 run TagScanners Change-Id: I869a183f2da23a43957a6df45dc5a1b30b10af92 TagScannerRunner Change-Id: Id3c5fac73e6fb84e56d6ab1d48a959f3677f7a67 crash fix Change-Id: Ie3c26dbed41ab4615915a08913c495868c3a8910 more TagScanRunner Change-Id: I80b79f101c0f4d802fb4f6515c0848e369fed066 handle removal of filetags Change-Id: Icdd8d05c2e26953f7b12d968aa5dfcc23928b9ba Qt4 build fix Change-Id: Ie5fcb64e36ddc5004003183bea7243536bc8ab15 do not waste space with type information Change-Id: I7b9354e6fceead228ba335723b9addeb701bef56 update nodes that must get new transformers Change-Id: I06cd7ffe606ae643393350c5959ef6475343929f update after rebase Change-Id: If080e664972f2950c12fd800a3e4b521e65dca3a only run tag scanners on changed sources And do not call RulesApplicator in bgloader. Change-Id: I5140c91c79a842dab933ad7b328100bdec13cb10 Conflicts: src/lib/buildgraph/buildgraphloader.cpp sketch of moc tagscanners impl Change-Id: I7736c2da1b1742bc3556ef660c163e6c32cbd4c9 Conflicts: share/qbs/modules/Qt/core/core.qbs MocTagScanner Change-Id: I87199e8f355b8b20cf2387f4d4190a20bddae0db fix lib.qbs Change-Id: Ibcb5bc290d3839b04828f8c9b155577634bcc9e4 moctagscanner split Change-Id: Iace5d48483c02b5d33d9ccd54ac07162bfc09d27
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-221-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: src/lib/language/moduleloader.cpp src/lib/language/tst_language.cpp src/lib/language/tst_language.h Change-Id: Iaaf4e015a234cdd9f51630ad218daec1b83b2a84
| * Let cpp.linkerName default to cpp.compilerName for gcc-like compilers.Christian Kandeler2013-11-201-1/+1
| | | | | | | | | | | | | | | | | | The hardcoded default value might not be the right one in all cases (e.g. mingw). This solution is better than setting the linker name in detect-toolchains, because it will also work with existing profiles. Change-Id: Ib658090218b3191a6f554ea397c689a94c804c61 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Make MSVC manifest embedding preparation command silent.Christian Kandeler2013-11-201-0/+1
| | | | | | | | | | | | | | It does not warrant an output. Change-Id: I9b01775c8a1a11cf81f0b857c8070d24b18ef5ed Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Replace the last occurrences of FileTagger.pattern with patterns.Jake Petroules2013-11-182-5/+5
| | | | | | | | | | | | Change-Id: I5aec3b2e3d7f844c923acb7950300ac0884cc829 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Fix the condition for the WiX and NSIS imports.Jake Petroules2013-11-143-3/+3
| | | | | | | | | | Change-Id: I458175a3462907a1b9b0d3bb83533207557c6517 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Fix a number of problems with the NSIS module.Jake Petroules2013-11-141-34/+46
| | | | | | | | | | | | | | | | | | | | | | - Add support for building installers outside of Windows. - Add missing qbs. qualifiers - Fix compressor handling Task-number: QBS-414 Change-Id: I1df290d5dd79cb2fea9ab27feefdde21a46c69d7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-144-3/+8
|\ \ | |/ | | | | Change-Id: I7475c4a71c15c83c59400c44ef96d73d15caea58
| * introduce cpp.linkerName and cpp.linkerPathJoerg Bornemann2013-11-134-3/+8
| | | | | | | | | | | | | | Like the compilerName/Path, the linker must be configurable. Change-Id: I50f9511dedbff29dbf55b41b96e213f238be187f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | fix deprecation warnings in GCC cpp moduleJoerg Bornemann2013-11-141-3/+3
| | | | | | | | | | | | | | Use FileTagger.patterns instead of FileTagger.pattern. Change-Id: Ib02d9ef029588dc20337459f0aa514b5dfc6dd90 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | WiX: add missing qbs. qualifiers.Jake Petroules2013-11-111-5/+5
| | | | | | | | | | | | | | Task-number: QBS-413 Change-Id: Ic9faab39fba982a98e36dd17c03d1fa34db877dd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Allow lists of patterns in the FileTagger item.Christian Kandeler2013-11-116-59/+14
| | | | | | | | | | | | | | | | | | | | | | | | Rationale: It is not uncommon that the same tag is associated with more than one file pattern; more common, in fact, than the other way around. It therefore seems silly to force module authors to create one FileTagger item per file extension. For semantic consistency, the "pattern" property gets renamed to "patterns". The old name is still supported in this minor version. Change-Id: Ia7f744b0903462517582fcb549e2dab004c81dd5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-116-46/+82
|\ \ | |/ | | | | Change-Id: I597280483f7477856152f434249d8ee830d5ea40
| * don't call sw_vers twiceJoerg Bornemann2013-11-071-5/+3
| | | | | | | | | | | | Change-Id: I294aa409509f56a6baf2c7f15848af077ac5380e Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Add support for compiling assembler files with GCC.Tim Sander2013-11-073-4/+23
| | | | | | | | | | | | Task-number: QBS-437 Change-Id: I7d4b64df16f5a260d41a6d34335fe0cc1a36b712 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Allow disabling of -fPIC for libraries.Tim Sander2013-11-071-2/+2
| | | | | | | | | | | | | | Change-Id: I9abb13a057530d16013ad889cea2acc34576c467 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Add many missing calls to Process.close() and one to TextFile.close().Jake Petroules2013-11-063-35/+54
| | | | | | | | | | Change-Id: Idc4b1d8f73fe1d5fbff6c486cded825d640c5240 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Fix ln command highlighting.Christian Kandeler2013-11-061-1/+1
| | | | | | | | | | | | | | We set the wrong property by mistake. Change-Id: I04c9bde3d389dd1b78f09e7feb1505b49e658cb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Rename getenv and putenv to getEnv and putEnv, respectively.Christian Kandeler2013-11-073-5/+5
| | | | | | | | | | | | | | | | We use camel case everywhere else. Change-Id: I8a67f1d44659d59e612c0eaced0628c6d34d5b47 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Silence framework bundle structural commands.Jake Petroules2013-11-071-0/+3
| | | | | | | | | | Change-Id: I6d54f266b1ffc1fa2b5e5f01f2c0a9043c303969 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge branch '1.1' into 'master'.Christian Kandeler2013-11-062-1/+4
|\ \ | |/ | | | | Change-Id: Ia6cb10047d02ebe2752984f57e8b729be9d6552e
| * Add missing description for "ln" commands.Christian Kandeler2013-11-041-0/+3
| | | | | | | | | | | | | | | | | | These missing descriptions are the cause for weird empty lines appearing in Qt Creator's compile output. Change-Id: I67af9adf816496595d5fd3d8bdb372e06aa7c8b1 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix filetag for "C" file extension.Christian Kandeler2013-11-041-1/+1
| | | | | | | | | | | | | | | | Such files should be considered C++, not C. Change-Id: Ifc9608eb5196b250694f0dec2a769a1f65c11a79 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | fix hostOSVersion for other platforms than Windows or OS XJoerg Bornemann2013-11-041-8/+10
| | | | | | | | | | Change-Id: I84ee85506d24ebeb9e801f684495f9200cb759f6 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Centralize architecture canonicalization data.Jake Petroules2013-11-041-11/+4
| | | | | | | | | | | | Task-number: QBS-403 Change-Id: I814cdc93adafdcdbc66ec6b72fc9e98c6a7b866d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Improve the way that the NSIS installation is found.Jake Petroules2013-11-041-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | Now that we have registry access, we search the registry for the known key and then determine the NSIS installation path and version number from that. The latter is now available as a set of properties. This searching code is also now not broken for 32-bit Windows... Task-number: QBS-414 Change-Id: I93a0e35084d11b3b0664bfa67bea29eb72a96380 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Improve the way that the WiX installation is found.Jake Petroules2013-11-041-21/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have registry access, we search the registry for the key corresponding to the latest known WiX version, then determine the WiX installation path and version number from that. The latter is now available as a set of properties. This searching code is also now not broken for 32-bit Windows... Task-number: QBS-413 Change-Id: I2fae8164b4aa073c1b0b980f110af38a1c4ddc66 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add a hostOSVersion property, defined for Windows and OS X.Jake Petroules2013-11-041-0/+26
| | | | | | | | | | | | Change-Id: I04da329f17c54f010fd467841f305d6ab7e922f0 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Don't use the term "Burn" in the WiX module.Jake Petroules2013-11-042-7/+7
| | | | | | | | | | | | | | | | | | | | What WiX happens to calls its various internal parts is irrelevant to users; using more well understood terminology now. Task-number: QBS-413 Change-Id: Iba2359d92d36b0a2e8a78b75d9bed7fec4d728d1 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | remove architecture fallback from msvc cpp moduleJoerg Bornemann2013-10-311-1/+1
| | | | | | | | | | | | | | We're acting on the assumption that qbs.architecture is set. Change-Id: I2aaa9e2fa87041fd0025d62ce459f958b7890f74 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | yield error on missing qbs.architecture propertyJoerg Bornemann2013-10-311-3/+2
| | | | | | | | | | | | | | By now, everybody should've update their profiles. Change-Id: I1e56d2e1c0685e0d867418aac2e1e146cd810451 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Merge remote-tracking branch 'origin/1.1'Oswald Buddenhagen2013-10-309-42/+60
|\ \ | |/
| * do not collect cpp.platformDefines from dependent modulesJoerg Bornemann2013-10-303-6/+6
| | | | | | | | | | | | | | | | | | | | cpp.platformDefines is dependent on properties that are set in the product's or a group's instance of cpp. Therefore we must not combine the values of this property from the input and its dependencies. Task-number: QBS-433 Change-Id: Id90ffc9d8193d8425e62ffc3d0b1d3cca83f8dff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Install examples.Christian Kandeler2013-10-301-0/+6
| | | | | | | | | | Change-Id: I5c27ee33bf022784da88dbfc55045621be78c68c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Remove duplicates when transitively adding library dependencies.Christian Kandeler2013-10-292-4/+16
| | | | | | | | | | | | | | | | | | | | When not doing that, the number of redundant linker arguments can reach enormous values rather quickly. For instance, the size of Qt Creator's build graph on Linux goes down by 10 per cent due to this change. Task-number: QBS-435 Change-Id: I772fc6a6c90696b5d0a3e0ebd65315cf0773552f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Move a number of cpp module properties to the base module.Jake Petroules2013-10-224-28/+31
| | | | | | | | | | | | | | Task-number: QBS-409 Change-Id: I7cd6942626e2543e8e4f75ee10f499d8f1f25e81 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Remove Artifact conditions in GenericGcc module.Christian Kandeler2013-10-211-3/+0
| | | | | | | | | | | | | | | | | | The current implementation is bogus, and the "correct-looking way" (using product.moduleProperty) does not work either. This is another victim of QBS-370. Change-Id: I5d7fa13def32ee4a8aee73755552505b1e9ab28d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Add missing "product." prefix in GenericGCC module.Christian Kandeler2013-10-211-1/+1
| | | | | | | | | | | | Change-Id: I96728e0919e596cb08da0eda4643c0894750fe9f Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for building NSIS setup packages.Jake Petroules2013-10-232-0/+186
| | | | | | | | | | | | | | | | | | | | Task-number: QBS-16 Task-number: QBS-414 Change-Id: I79eae2a04a238c00e89cdd368230a3a60fedccb7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Fix a couple minor bugs in WiX support.Jake Petroules2013-10-222-2/+2
| | | | | | | | | | | | | | Task-number: QBS-413 Change-Id: I8a0ebb0e8af103093ac0662e331b205dcc40faed Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for building MSI and EXE installers with WiX.Jake Petroules2013-10-213-0/+379
|/ | | | | | | | Task-number: QBS-16 Change-Id: I16a520863991a5d85ed7cb753ce3d95fb33b5c01 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* create a profile per MSVC installation and per architectureJoerg Bornemann2013-10-162-3/+6
| | | | | | | | | | detect-toolchains will now create one profile per supported architecture per found MSVC installation. Task-number: QBS-404 Change-Id: I6ca569c312c31c39c49cfbfe5ffa638698fb90b2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Improve validation of Qt module.Jake Petroules2013-10-151-13/+51
| | | | | | | | | | | Now displays all the missing properties, instead of just the first undefined property in the order we happened to validate them. Also checks that pluginPath is set for non-static builds (Qt Creator used to omit this) and various other properties are set and in a valid format. Change-Id: I96c8a8059b1522c7498b37cba1c40cd4938b10ee Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* temporarily weaken the architecture check in common.qbsJoerg Bornemann2013-10-151-0/+3
| | | | | | | | ATM, no MSVC profile has qbs.architecture set. That's why the test machines run amok now. Change-Id: I1d0fa049d500d47d7deb58237c372ef13f47faf2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix FileInfo.path().Christian Kandeler2013-10-141-1/+6
| | | | | | | | | | | Remove the trailing slash for directories if the file name is empty. This makes sense, since repeated invocations of path() will strip off additional components, as one would expect. It is also how QFileInfo::path() behaves. Change-Id: Idc28fcaba5d3a8c907b8d6ce8f55001909f00fa8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Write .qm files to the correct directory.Jake Petroules2013-10-141-1/+4
| | | | | | | Task-number: QBS-400 Change-Id: I2df943967f4b8877b2941a644076091e9aff8d6a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Enforce canonical architecture names in qbs.architecture.Jake Petroules2013-10-111-0/+15
| | | | | Change-Id: Ia9ec94d1d634f45db1c229b65b8856eff98a67c9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* introduce Module.validateJoerg Bornemann2013-10-101-2/+1
| | | | | | | | This property can be used to validate the property values of a module. Task-number: QBS-319 Change-Id: I3d50c95cca16c5f0ad356fca02a0588679444cc9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* setup Qt's run environment on Windows onlyJoerg Bornemann2013-10-101-9/+7
| | | | | Change-Id: I2e90d380615b825210f7830bfc37c16c013b469c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* introduce cpp.supportedStaticLibrarySuffixesJoerg Bornemann2013-10-013-10/+22
| | | | | | | | | | The MinGW linker supports .a and .lib files as input. Therefore we need to maintain a list of supported lib suffixes. Task-number: QBS-376 Change-Id: I2e9c3b424478a9bcf1a06df6e532517b31da0bef Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>