aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Executor: Do not convert error objects into stringsv1.8.1Christian Kandeler2017-06-224-1/+29
| | | | | | | | | | Command line users do not see a difference, but for IDE users it is important that we keep error message and code location separate in the ErrorInfo objects we hand out via the API. Task-number: QBS-1151 Change-Id: I4aacf2f32ee535c2d37da3d615ab78e2777a351a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add a comment warning about argument order in linkerFlags due to QCCJake Petroules2017-06-191-0/+3
| | | | | | | Amends eb2e67a Change-Id: I902b49f17917494e6b8e166c9bdae98ddde7f142 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix error messages in console functionsJoerg Bornemann2017-06-191-4/+4
| | | | | Change-Id: I8bd20c7ca4cae81193bf4def946846fd393d170e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make ItemReaderVisitorState::readFile() exception safeChristian Kandeler2017-06-151-3/+10
| | | | | Change-Id: Ia3eb38e92f1337abf92064f9b55222e3afa05811 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make sure qcc handles response files properly for linkingJake Petroules2017-06-142-2/+50
| | | | | | Task-number: QBS-1143 Change-Id: I588412c269222419cecc3394f4588a4269eb3a52 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix race in qmake buildJoerg Bornemann2017-06-123-0/+3
| | | | | | | | | The five blackbox tests use the same Q_OBJECT header file and therefore must not have a shared MOC_DIR. This fixed random build failures on Windows. Change-Id: Ia7bb4730c0b29c1de4c5f7373068f974ab67bf03 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix "enableExceptions" autotestChristian Kandeler2017-06-122-4/+8
| | | | | | | The Product item has no "fileTags" property Change-Id: I85241a8eea1ab272b14a233f81b71373ff5a62da Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix error message for property overridesChristian Kandeler2017-06-121-2/+3
| | | | | | | One particular syntax mentioned is not actually available in 1.8. Change-Id: Icd2bb1ad4cdc74eecdf5efdd3924c9be76c104d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Document how to override property values from the command lineChristian Kandeler2017-06-091-0/+22
| | | | | | Change-Id: Icaef6daa3b98cf0a76e78341d43f797230fe8701 Reviewed-by: Stephan Gatzka <stephan.gatzka@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* setup-qt: Fix automatic base profile assignment for MSVC Qt'sJoerg Bornemann2017-06-092-46/+64
| | | | | | | | | | Read MSVC version from qconfig.pri instead of trying to guess it from the mkspec name. The latter is broken since the introduction of the common win32-msvc mkspec for all MSVC versions. Change-Id: I24bd2d5b4935dbba2e296b15d4e6a553393eca3a Task-number: QBS-1141 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* setup-qt: compress MSVC profiles even when Qt's MSVC version is unknownJoerg Bornemann2017-06-091-8/+25
| | | | | | | | | | | | | | | | | "Compressing" MSVC profiles means that if MSVC2017-x64 and MSVC2017-x86_x64 fully match, then we drop MSVC2017-x86_x64 and connect the Qt profile to the former. This compression took place only if there was a valid Qt version. Do the compression always now, and take care that we throw out the right cross-compiler toolchains. While this patch does not fully fix QBS-1141, it alleviates the symptoms if only one MSVC is installed, which is usually the case. Task-number: QBS-1141 Change-Id: Ied766b6051074fbb92037185f2a357bcdbc55b68 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Allow the GccProbe to fail more gracefullyJake Petroules2017-06-082-0/+17
| | | | | | | | | This lets error handling be deferred to a more appropriate venue like module validate scripts rather than failing with an error message like "could not find/execute g++". Change-Id: I90223339a1b4ac4fa6674c8c2ddd95acc19d395e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Warn against non-prefixed command-line property overridesChristian Kandeler2017-06-084-8/+46
| | | | | | | | We changed the syntax for 1.8, but users did not get any hint about that when using the old one. Change-Id: I953de0422426d19513f3306417fb26577038919b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix mismatched class/struct warningJake Petroules2017-06-081-1/+1
| | | | | | | This fixes a regression introduced in e68a7a5. Change-Id: Ic1df82c636b8505e83fdca58c28062bd54bbea17 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Provide more user-friendly errors in module validationJake Petroules2017-06-072-6/+27
| | | | | | | | | | | | | Instead of a cryptic message simply stating that various properties are not set, try to provide the user with real-world, actionable suggestions to aid in project setup. This new style in the QNX module vs usage of the old PropertyValidator is kind of a "trial" run and could be expanded to the rest of the modules later. Change-Id: I2763540351fa609a14470110a3971624a7f7cf13 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* PathProbe: don't search Unix paths on WindowsJake Petroules2017-06-071-1/+1
| | | | | Change-Id: Ide01c185867671b3de9b76bcc6f3ae54dfe44ad5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* PathProbe: provide candidate paths that were searchedJake Petroules2017-06-074-13/+18
| | | | | | | These can be used in the construction of helpful error messages. Change-Id: I24d2871b362a035c0071b845c8e4ef119d023905 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Give the "staticQtPluginLinking" autotest a shorter product nameChristian Kandeler2017-06-071-0/+1
| | | | | | | | We've observed command line length problems with mingw on a test machine. Change-Id: I0f03285cde5febfdbe4562a55355c5d847286bd0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix "qtScxml" autotestChristian Kandeler2017-06-071-1/+4
| | | | | | | Append to the environment, rather than overwriting. Change-Id: I2d70f16dc08b4302ccffb9fdfa47c3e97284195d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Extend the documentation for the "outer" valueJoerg Bornemann2017-06-072-1/+17
| | | | | | Change-Id: I6fff3d3cc73bd664c29b67239b88c2e09b5d6fe2 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add an entry for the qbs file itself in the generated vcxprojJake Petroules2017-06-064-0/+36
| | | | | | | Task-number: QBS-1128 Change-Id: I632096fd350472c7274a6cb38b4ddbdf8ec04515 Reviewed-by: Thomas Epting <thomas.epting@stryker.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix handling of same subproject names in generated VS solutionsJake Petroules2017-06-063-5/+42
| | | | | | | | | | | | | | | | While Qbs product names must be unambiguous, using the same project name several times is perfectly valid, as long as all projects with the same name belong to a different root project. Utilize the project's source file location to distinguish projects that have the same name. Use this in conjunction with the name to create an ID that is used as the key for the solutionFolders map. Change-Id: I47079cd4207d505892e79755a3986614025d2749 Task-number: QBS-1082 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Thomas Epting <thomas.epting@stryker.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix a couple of typosDmitry Shachnev2017-06-063-3/+3
| | | | | Change-Id: Ie9fd8d94261c1f6e5314f490519a613b2284228a Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix sysroot handling for GCC-like toolchainsJake Petroules2017-06-066-21/+10
| | | | | | | | | Specifically, this fixes sysroot handling for older versions of the QCC toolchain (< 7) Task-number: QBS-1138 Change-Id: Ie983786439c2ce4656e8a6eebb7428c319054f49 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add -lang-c and lang-c++ arguments to QCC compiler when neededJake Petroules2017-06-061-6/+37
| | | | | | | | | | Because the compiler names differ only by case in older versions of the QNX SDK, this doesn't work in case insensitive environments to automatically determine the language type from the compiler name. Task-number: QBS-1139 Change-Id: I1e1ebf67367450c90c6f53825bdcb4641f4e9587 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add failing test for QBS-1016Joerg Bornemann2017-06-063-1/+11
| | | | | | | Task-number: QBS-1016 Change-Id: I78632b31eb72ae5bd7d19d5d262fee66a96a1671 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Revert "Modernize EvaluatorScriptClass::QueryResult"Christian Kandeler2017-06-061-2/+6
| | | | | | | | | | This reverts commit 8f525a7c5ecc185eff69cc739f78b419c0cb2d3a. Absurdly, the C++ standard forbids const objects of classes that don't have a user-provided default constructor. Maybe they forgot that non-static member initialization exists... Change-Id: I4c7bb01bc0f89ab2c5afcc1ffe12c7e0ae977429 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix system include paths compatibility with QNX SDK < 7Jake Petroules2017-06-023-5/+16
| | | | | | Task-number: QBS-1137 Change-Id: I924d9376e55f4681f639f75949db86e1aba7d5b0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Prevent passing undefined to a function which does not accept itJake Petroules2017-06-021-1/+1
| | | | | | | This unblocks other error handling. Change-Id: Ib4f2f468fee05021e14846bd529239de0cbd905a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix QNX SDK probe on WindowsJake Petroules2017-06-021-2/+3
| | | | | | | | | The OS check should have been using the host, not target OS, and the HOME location is only used on Unix. Task-number: QBS-1136 Change-Id: I880cdae5c85a875e8b392a4efe1e5d7688c15732 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add missing qbs.Utilities importJake Petroules2017-06-021-0/+1
| | | | | | Task-number: QBS-1140 Change-Id: I1a59872c9d9d37fa93686e3bc6122e1965536d22 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove superfluous nullptr check in SVConverterJoerg Bornemann2017-06-021-1/+1
| | | | | | | | We do not need to check itemOfProperty for nullptr, because it is always provided. Other code paths already use this variable unconditionally. Change-Id: Ibf4cd79aa0579361300cd6b6734b15c49bd1e6ec Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Modernize EvaluatorScriptClass::QueryResultJoerg Bornemann2017-06-021-6/+2
| | | | | | | | Remove the default constructor that just existed to initialize member variables. Change-Id: Ia7282957ae640d1518f7be4764c105aba168b275 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Tighten QBS_ASSERTs in EvaluatorScriptClassJoerg Bornemann2017-06-021-1/+10
| | | | | | | | | Let QueryResult::isNull() (which is only used in QBS_ASSERTs) check all struct members to make sure we do not encounter old data in queryProperty/property calls. Change-Id: I8412e8e8cba7ab38f56c303499384711b78f0623 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix lookup of shadowed parent propertiesJoerg Bornemann2017-06-023-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | Consider the following example Project { name: "project" property string projectName: name Product { name: "product" property string foo: projectName } } The foo property is supposed to have the value "project". Instead it had the value "product". EvaluatorScriptClass::property() and SVConverter assume that data->item is the item that's attached to the QScriptValue object. That was not the case when a property was automatically looked up in the parent item. Task-number: QBS-1117 Change-Id: I21d4cc4106ae631730cd34fe352459d311b09501 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Documentation: Fix references to outdated locationsChristian Kandeler2017-06-021-2/+2
| | | | | Change-Id: I9cb877fdf7e30f8a91d3f6fd967c5351fc2b2a15 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert "Fix (wrong) GCC7 fallthrough warnings"Orgad Shaneh2017-06-026-9/+7
| | | | | | | | | Declare throwError with noreturn instead. This reverts commit 9030d940e089676d87a6854145733191e26fba60. Change-Id: I11c7adfec53090e326c47c08d4978c120e2ca98b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix tst_language moduleProperties:shadowed-list-propertyJoerg Bornemann2017-06-021-1/+1
| | | | | | | | | The expected value is a list and not a string. This amends commit 85881f7f. Change-Id: Ie37636d9579a192139a372b5e6f0e0585b5736bd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix (wrong) GCC7 fallthrough warningsOrgad Shaneh2017-06-012-0/+2
| | | | | | | An exception is thrown, so it does not real fall through. Change-Id: I02f11caff677d24b8d2d924aa59a56333aee723e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add failing autotest for QBS-1117Joerg Bornemann2017-05-312-16/+40
| | | | | | | Task-number: QBS-1117 Change-Id: If8b0e2edf6c36edec0410c90359505c5ed6c691f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix race condition when resolving projectsChristian Kandeler2017-05-303-1/+7
| | | | | | | | | Make sure we do not actually start resolving before returning to the code that created the job object. Otherwise signals could be missed. Change-Id: I2cf3db7c0777e2f6315c95ee15a21695f8b22c11 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make "bin" the libexec path on WindowsChristian Kandeler2017-05-305-6/+19
| | | | | | | | Otherwise, our binary distributions will not work out of the box, as the process launcher is not in the same place as the libraries. Change-Id: Ied375fa48e5c2cb037d3cb2108296126ee3be4cc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* dist package: Add process launcher dependencyChristian Kandeler2017-05-261-0/+1
| | | | | Change-Id: Icf98b84c1c8cb811da6a5adc7b8c1b29cd9a039c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix broken handling of QtScriptTools modules in qbs-setup-qtJake Petroules2017-05-261-3/+3
| | | | | Change-Id: Id4c3ef26351c3af940e63ea848bbe9be38133837 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Version bumpChristian Kandeler2017-05-242-2/+2
| | | | | Change-Id: I80c5c219cb7399f8cffb17ac793e0e3a170346a8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* GCC: Do not pass the -x option to the assembler binaryChristian Kandeler2017-05-241-5/+0
| | | | | | | | It is not present in all versions of as, and has no effect even if it is. Change-Id: I9bb5704e0288585c18a757e5fd93485566996913 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* When setting the build root, create the directory along the wayChristian Kandeler2017-05-201-0/+6
| | | | | | | | ... if necessary. Otherwise it makes no sense trying to get the canonical file path. Change-Id: I5a9c4237a8e4081c338ace685f20debb02f848fd Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix typoChristian Kandeler2017-05-201-1/+1
| | | | | Change-Id: I8abd480ed35bc17cf31100c07b8f8e6bd1352c4c Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix example code in Group item documentationv1.8.0Christian Kandeler2017-05-181-4/+4
| | | | | | | | We mistakenly omitted the module name in some expressions. Change-Id: I7bc29837166ac7bf0bcf921b3f5816112f8e8e6f Reviewed-by: Prashant Vaibhav <prashant.vaibhav@tobyrich.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix string -> variant conversion in settings modelChristian Kandeler2017-05-171-5/+5
| | | | | | | | When storing the settings in the config-ui tool, the JS value undefined would erroneously get converted to the string "undefined". Change-Id: I1579a653bc3162afcdcce52983613ebd01b4c23a Reviewed-by: Jake Petroules <jake.petroules@qt.io>