aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add module Exporter.pkgconfigChristian Kandeler2018-06-042-0/+311
| | | | | | | | | | | | | | | | | | | | | | | | This module generates .pc files for products, optionally attempting to derive some of the entries from the contents of the Export item. [ChangeLog] Added new module "Exporter.pkgconfig" for creating pkg- config metadata files. Task-number: QBS-1232 Change-Id: Ic41e645e4462e8f85ad6c2025fb967e88d3438f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | AutotestRunner: Fix override logic for the arguments propertyChristian Kandeler2018-06-041-1/+4
| | | | | | | | | | | | | | | | | | | | Unfortunately, we turn undefined list properties into empty lists when resolving the project, so list properties always have a truthy value inside rules. So use the value from the module only if it is a non-empty list. Change-Id: Iebcba47c34094926b05226b98dfa486cfde23eee Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Make the texttemplate module publicJoerg Bornemann2018-06-011-0/+64
| | | | | | | | | | | | | | | | | | | | | | Also, adjust the syntax to be closer to ES2015's template literals. [ChangeLog] Introduced the texttemplate module, a facility similar to qmake's SUBSTITUTES feature. Task-number: QBS-1050 Change-Id: Id4d45ac962d68f44a060aefafb20263d7f21ba9f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge "Merge 1.12 into master"Christian Kandeler2018-06-012-2/+9
|\ \
| * | Merge 1.12 into masterChristian Kandeler2018-06-012-2/+9
| |\| | | | | | | | | | Change-Id: I95f9b29df55c0baac20791bbe17f615c1ce060bb
| | * AutotestRunner: Make sure to run only the actual autotestsChristian Kandeler2018-05-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | If products that come in via auxiliaryInputs are also applications, then these would get run as well, which is wrong. Prevent that from happening. Change-Id: I9580fa4e5198f8a9ab2a0a36ef221c52e3881df8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * AutotestRunner: Fix default working dirChristian Kandeler2018-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | ... for the case of an installed test. Change-Id: Ib064da968cb7aae4531c0b7177c044ee6d97bcde Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Fix the type of the cpp.cLanguageVersion propertyChristian Kandeler2018-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | This was forgotten in 2bda52aa3d. Also added autotest. Change-Id: Iba8c7c7aa6629f321017315b03964ce20809ac23 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Simplify installation of applications and librariesChristian Kandeler2018-06-015-1/+44
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "install" and "installDir" convenience properties to our Application, DynamicLibrary and StaticLibrary items, so users are no longer required to write groups with file tag filters for the normal installation case. The installDir property has a suitable default value for the respective target platform, as does qbs.installPrefix. [ChangeLog] The Application, DynamicLibrary and StaticLibrary items now have properties for more convenient installation of target binaries. Task-number: QBS-229 Change-Id: I9cfa4c02a7c555b0af637257da63967cd62cc119 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Introduce the autotest moduleChristian Kandeler2018-05-302-3/+22
| | | | | | | | | | | | | | | | | | | | | | This module allows different autotests to run in different ways, for instance with a custom working directory. [ChangeLog] Introduced the autotest module Change-Id: I8e0438f0a9fb1d9103bbd3cc0d2b6d46c244def6 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Allow rules without output artifactsChristian Kandeler2018-05-281-6/+1
|/ | | | | | | | | | | | It is occasionally useful to have a rule whose purpose lies solely in its "side effects", that is, it does not produce any actual files. This patch removes the necessity to declare a dummy artifact in that case. [ChangeLog] Added support for rules without output artifacts Change-Id: I38e76a5ddc78ffa768e8ae1f270ae2f7461c5ee7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix vcsSubversion test on macOSAlexandru Croitor2018-05-181-1/+1
| | | | | | | | | | The output of the repoState property contains additional whitespace for subversion case on macOS. Make sure to trim the output of any whitespace. Change-Id: Idb17361dc4e7fb95a18c3e789877347e789e5575 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make cpp.cxxLanguageVersion a listChristian Kandeler2018-05-144-4/+57
| | | | | | | | | | | ... and choose the highest entry. This enables different modules to specify their requirements without introducing conflicts. Same for cpp.cLanguageVersion. Task-number: QBS-1225 Change-Id: I96ed6c370eb190023fdb69274dcb080d967f512d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/1.11'Joerg Bornemann2018-05-091-1/+5
|\ | | | | | | Change-Id: I407596d75413e43aa61e7d1fe8591f4a0f388340
| * setupRunEnv: Try harder to keep system run paths out of the environmentChristian Kandeler2018-05-071-1/+5
| | | | | | | | | | | | | | | | A simple string comparison is not always enough, because of soft links. Change-Id: Id1889fa70d5948a1db66d8e6a69b8a2fbb0e34dd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add AutotestRunner.auxiliaryInputsChristian Kandeler2018-05-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | This is a set of file tags representing run-time dependencies of the test executables. [ChangeLog] Added the AutotestRunner.auxiliaryInputs property for specifying run-time dependencies of test executables Change-Id: If1ac6256d83f535b8be859a096062f07b0070729 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add support for prefix/output in lex_yacc moduleJoerg Bornemann2018-05-042-26/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The user can specify the outputs of lex/yacc via %option prefix="foo" in the .l file and %output "parser.cpp" in the .y file. Also, introduce the following properties to specify the outputs: lexOutputFilePath, yaccOutputFilePath. Scan the lex/yacc inputs for those specifications and adjust the output artifacts accordingly. [ChangeLog] Added support for %option outfile and %output to the lex_yacc module. Change-Id: I5437c737ae8da54dc7eda81ac7384727f00f9d1f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | AutotestRunner: Set the working dir when invoking a test executableChristian Kandeler2018-05-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This helps with converting projects, as "make check" is also run from the executable's location and the executable may depend on that. The user can override the working directory. [ChangeLog] The AutotestRunner item now has a workingDirectory property. By default, the test executable's location is used. Change-Id: I7349a41960f7b637c3b1dd4c3bc10252d136526a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Do not use the moduleProperty function in the lex_yacc moduleJoerg Bornemann2018-05-022-15/+15
| | | | | | | | | | | | | | | | Modernize the syntax, and read properties from inputs instead of the product to allow different settings per input. Change-Id: I38b018edbd9dfa85b7321ca1b665d756e681936a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | vcs module: Create header file even without a repository being presentChristian Kandeler2018-04-231-2/+2
| | | | | | | | | | | | | | | | | | | | This makes things more convenient for project authors, and a small header file getting generated once does not slow down the build unnecessarily. Task-number: QBS-1337 Change-Id: I3f48106898418eba8236aad0c3f808d4c027e24b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Expose cl-generated PDBs as debuginfo_cl artifacts for static libsJoerg Bornemann2018-04-182-8/+23
| | | | | | | | | | | | | | | | | | [ChangeLog] For MSVC static libraries, compiler-generated PDB files are now tagged as debuginfo_cl to make them installable. Change-Id: I8431dbffbbc31c48f1bc7aea96332e0b2408c743 Task-number: QBS-1106 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Check that inputs.partial_infoplists is not emptyAlexandru Croitor2018-04-161-16/+17
| | | | | | | | | | | | | | | | | | | | Also change the style of checking for the rest of the inputs. Amends regression introduced by 74e518ef6f6b89dd783ec8ffc8cf1d0c713cf14a . Change-Id: Iddd9b4f1d1688f09e10add41a55e4b4ae6ca7bbc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Don't make a copy of the inputs properties in BundleModule.qbsAlexandru Croitor2018-04-161-12/+17
| | | | | | | | | | | | | | | | | | | | | | The input artifacts can have a lot inherited module properties, which would cause any copy operation to take a very long time as well as exhaust memory. Instead directly use the inputs variable. Change-Id: I829b0f9296bde125fa36e750a503c499e9912c78 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Remove the deprecated Product.profile propertyChristian Kandeler2018-04-131-1/+1
| | | | | | | | | | | | | | It was not used anywhere anymore. Change-Id: I420c40f562634159e838a805aeedbefb89185c75 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.11 into masterChristian Kandeler2018-04-131-3/+7
|\| | | | | | | Change-Id: I1c1a31a76ea9458f4207ae26c7b57f2e1f37663d
| * setupRunEnv: Visit each product dependency only onceChristian Kandeler2018-04-121-3/+7
| | | | | | | | | | | | | | | | | | Otherwise products that appear more than once in the dependencies tree (directly and indirectly) will be processed over and over again. Task-number: QTCREATORBUG-20175 Change-Id: I1c67ecc45aa3203c10d35c5822ad8055111331d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix and rename the excludedAuxiliaryInputs propertyChristian Kandeler2018-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property did not only exclude auxiliary inputs, but all kinds of inputs ("inputs", "auxiliaryInputs", "explicitlyDependsOn"), which happens to be what we want, as it does not appear to make any sense to exclude only tags from one of the relevant "input-like" properties. But the behavior was inconsistent: When building the (product-local) rule graph, the property was considered, but not when collecting artifacts from other products during rule application. This is now fixed. [ChangeLog] The excludedAuxiliaryInputs property of the Rule item has been renamed to excludedInputs. The old name is deprecated. Change-Id: Id7eae3461a6e85f53b3d47750d296c3e47a18a95 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge 1.11 into masterChristian Kandeler2018-03-152-7/+2
|\| | | | | | | Change-Id: I15cdc5c73a13c36cf073d01aff0406e539bb507b
| * cpp.setupRunEnvironment: Ignore rpathsChristian Kandeler2018-03-121-7/+0
| | | | | | | | | | | | | | | | | | We did not set any environment *PATH variables if any rpaths were present, which breaks the functionality if some libraries are found via rpaths and others are not. So let's ignore the presence of rpaths. Change-Id: I41d690159a51bb8e38acd83667bff53ad86c3714 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * vcs module: Make sure the git meta data directory is absoluteChristian Kandeler2018-03-121-0/+2
| | | | | | | | | | | | | | | | | | | | git rev-parse --git-dir prints a relative or an absolute path, depending on whether you call it from the repository base directory or not. Our code now accounts for that. Change-Id: Iac5eeb0fc55fe83d6c588efbcf97cab6786a4f89 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ola Røer Thorsen <ola@silentwings.no>
* | Exporter.qbs: Properly support variant valuesChristian Kandeler2018-03-141-7/+11
| | | | | | | | | | | | | | | | The right-hand side of variant properties potentially needs to be parenthesized. Change-Id: I7ea9d94b3aea379259fb9e73372791ef3ea71e15 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add module Exporter.qbsChristian Kandeler2018-03-142-0/+346
| | | | | | | | | | | | | | | | | | | | | | | | This module generates qbs modules from products, providing an interface to them for use by external projects. [ChangeLog] Added new module "Exporter.qbs" for creating qbs modules from products. Task-number: QBS-1231 Change-Id: I9f0cf04b441aaf279cf19a84fd94d97a8cea9de8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add product name to command descriptionsChristian Kandeler2018-03-121-13/+1
|/ | | | | | | | | | | | | | | The pure file name that the description usually contains does not always provide enough context: It's not necessarily clear from a file name which product it belongs to, and some files can be built as part of more than one product. Because we print the full product name, including the multiplexing information if necessary, we also remove the JS code that provided this kind of disambiguation for GCC compiler and linker rules only. [ChangeLog] Command descriptions now also contain the product name. Change-Id: I9702a6cff3faffb086e5c93e02fffa6e65fb1043 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* NativeBinary: Do not evaluate qbs properties unnecessarilyChristian Kandeler2018-02-221-5/+13
| | | | | | | | | ... when setting the "aggregate" property. This property is evaluated internally very early in the product setup process, and thus its RHS should be as unintrusive as possible. Change-Id: Iba8313566aac37dcff028e8fb313c6dfe7a0b777 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Darwin: Fix lipo rulesChristian Kandeler2018-02-222-4/+7
| | | | | | | | | | - We must activate these rules only on the product that is the actual aggregator. - The lipo command must only consider artifacts of the multiplexed variants of the same product. Change-Id: I25dc42cb53d84d85786b2d7ff96297b7fd58a90d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* mingw: Use a lower response file thresholdChristian Kandeler2018-02-221-0/+8
| | | | | | | | | Both compiler and linker of this toolchain can considerably lengthen the command line when forwarding it to internal helper tools. Adapt the response file threshold accordingly. Change-Id: Iac071163375f276203a83d9ec503f4a3345f6b40 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Only use fallback values for the -std= command line option when neededJake Petroules2018-02-212-17/+97
| | | | | | | | | | | | | | | Instead of always using the fallback value, we instead always use the standard value unless we know we're running an older toolchain which does not support it. This alleviates the potential for differing behavior in newer versions of compilers which may attempt to remain compatible with earlier drafts of corresponding standards. [ChangeLog] Always use standard values for -std= when possible Change-Id: I61ff3ecd863caa24cb8fb54500e62dc310a2af02 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Pull in the latest Xcode build specs from Xcode 9.2Jake Petroules2018-02-191-3/+5
| | | | | Change-Id: Ie5283adaaa8c55fad57276651a6312f0cfb93dbc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix race conditions in innosetup, wix and nsis modulesChristian Kandeler2018-02-167-52/+7
| | | | | | | As first attempted in 7f6ec1cc27. Change-Id: Ib76dbdfc0a60b27d38d93a22c9556d54f07a3dac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Officially provide "c++17" as possible value for cpp.cxxLanguageVersionChristian Kandeler2018-02-073-2/+12
| | | | | | | | The standard is out now. Task-number: QBS-1020 Change-Id: Ie8249e1c860d5ebc2f9dadf02551544ddaaf2868 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Re-add build environment to mingw compiler probeChristian Kandeler2018-02-051-0/+1
| | | | | | | | Was removed in 6655d563c3, but the mingw compiler needs it to locate some libraries. Change-Id: I8b7d9ddb69a719c6a6ef590a680c89327cb360d5 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Java: Adapt to Java 9 changesChristian Kandeler2018-02-053-10/+28
| | | | | | | | | | | | | | | - tools.jar and rt.jar are gone - The -bootclasspath option is not allowed when targeting Java 9 - JavaCompiler.isSupportedOption() (erroneously?) returns 1 instead of 0 for -Xlint - version number related changes: - major version has jumped to 9 - javac prints the version number to stdout rather than stderr - version number no longer contains a forth component - The -source and -target options take only the major version Change-Id: I0b23c8868db7aeaa06785ee43c1efd9fcb1bc9d2 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* setupRunEnvironment: Do not access properties of undefined valuesChristian Kandeler2018-01-301-5/+6
| | | | | | | Task-number: QBS-1290 Change-Id: I47d89ac2bd1cd88a0f38f51c1ce81517a276725b Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge 1.10 into 1.11Christian Kandeler2018-01-262-10/+13
|\ | | | | | | Change-Id: Ib49f863008a9c4a3b8956686de019e2f133c244f
| * Fix detection of Android SDK on WindowsJake Petroules2018-01-251-9/+13
| | | | | | | | | | | | | | Task-number: QBS-1282 Change-Id: If15e1ad616c6ffcdc03f62d872c512fd52c844d3 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Add better module validation for Android SDK and NDKJake Petroules2018-01-254-7/+29
| | | | | | | | | | | | | | | | Users now get more friendly error messages when the SDK and/or NDK are not installed. Change-Id: Icfc438ed16b88aea190bf766ddc58b26b0512121 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | GCC: Provide a Probe environment only if the compiler needs oneChristian Kandeler2018-01-192-2/+4
| | | | | | | | | | | | | | | | | | | | Of our existing backends, only QCC has that requirement. The old code caused enormous slowness on Darwin, because the build environment there contains product-specific values. Task-number: QBS-1277 Change-Id: Ie26c148ff49030eb2626324d6a9f658a794dda23 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge remote-tracking branch 'origin/1.10'Joerg Bornemann2018-01-171-6/+6
|\| | | | | | | | | | | | | | | | | Conflicts: src/lib/qtprofilesetup/qtprofilesetup.cpp src/lib/qtprofilesetup/templates/QtModule.qbs src/lib/qtprofilesetup/templates/core.qbs Change-Id: I342608a47f1a90b53eb12cc14fc3ff116063d15f
| * GCC: Reorder prefixHeaders and precompiled headersArrigo Zanette2018-01-081-6/+6
| | | | | | | | | | | | | | | | Prefix headers should follow precompiled headers on the gcc command line. Testcase added. Change-Id: I3dfba8cae9c894932acce5c0a67f16d7d072c94b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix setupBuildEnvironment in cli moduleJoerg Bornemann2018-01-151-1/+1
| | | | | | | | | | | | | | | | | | Module properties must be accessed via product. This amends 2ff14a89. Change-Id: Icab99041377c82cbe0ea75786075baff05da9aca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>