aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Do not leak the build graph locker if project resolving is cancelledv1.7.1Christian Kandeler2017-01-052-3/+18
| | | | | | Task-number: QTCREATORBUG-17543 Change-Id: Ie32f5e9729dc98705b0d0d27839d9544ffd29a43 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Clean up the documentation for the Scanner itemChristian Kandeler2017-01-051-6/+5
| | | | | Change-Id: Ie80e267263a59458862cfcfb54394b702e201d28 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Check the type of the top-level itemChristian Kandeler2017-01-054-3/+21
| | | | | | | | We neglected to do that so far. If a project's top-level item was not Project or Product, an internal error would be thrown. Change-Id: I7f4ca74107a6bcc990d21f998ae6c5b9732bfb28 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* cpp module: fixed output path for pch_copy file in JavaScriptCommandSergey Petrov2017-01-051-1/+1
| | | | | Change-Id: Icec903bef4cfccf3a1d1075b46bda57e1cfa5fad Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix race condition in qmake buildChristian Kandeler2017-01-053-0/+3
| | | | | | | | Task-number: QBS-1091 Change-Id: I5cead5f3cd111ea66bec31a178f69c992a4024a1 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use different tags for debug info created by different rulesChristian Kandeler2017-01-025-23/+28
| | | | | | | | | Otherwise, rule conflicts occur when users try to process the "debuginfo" artifacts further. Task-number: QBS-1089 Change-Id: I70141cfbf2a966ab0414cbabab5e4785fd4a96c6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Do not create bundle-related artifacts for non-Darwin targetsChristian Kandeler2017-01-021-1/+3
| | | | | | | | This is erroneously done at the moment when separate debug information is enabled. Change-Id: I97474d8d08e31de9db20f738f21e0c753d929c4d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Prevent undefined values from getting into listsJake Petroules2016-12-232-3/+3
| | | | | Change-Id: I8979a11ce27ffb363fa6bd696b132a9710300fa5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove unused functionJake Petroules2016-12-221-14/+0
| | | | | | | | This amends 532e8ea991cf0dede72d3f357619f49f4b36187b, which removed the restriction that two build configurations must use different profiles. Change-Id: Ie9536c33baa621180e398937b24132da3758e85b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix qbs-setup-toolchains with concretely specified MSVCJoerg Bornemann2016-12-212-1/+2
| | | | | | | | | | We must call init() on every MSVC object. Also, MSVC::clPath must point to the directory where cl is. This amends commit fb2cf69d. Task-number: QBS-1084 Change-Id: Iaa8b3f6a5a0b88b998c2da31d9056f22a511d05d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ModuleLoader: Do not cache Probes that throw errorsChristian Kandeler2016-12-201-6/+6
| | | | | | | | | Doing so can hide errors, for instance when such a Probe is first run by a non-required module instance. Task-number: QBS-1074 Change-Id: Ibfbba029761b7d09d0a02eeaf5aa01f76c701574 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix javaDependencyTracking autotest with Java 6 on Windows and LinuxJake Petroules2016-12-193-16/+28
| | | | | | | | Both rt.jar *and* tools.jar are part of classes.jar in Apple Java 6, not only the former. tools.jar is present in all other versions of the JDK. Change-Id: Ia045d17c768963fd454f0ed81d95940c4a33d2b7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix clangdb autotests with MSVC and MinGWJake Petroules2016-12-193-15/+35
| | | | | | Change-Id: I6db4e074fb7aa4956ccaca7e57d4b674bc2d0c9a Reviewed-by: Christian Gagneraud <chgans@gna.org> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do the buildgraph sanity checks only on demandChristian Kandeler2016-12-191-10/+1
| | | | | | | This procedure is too slow to enable by default even in debug builds. Change-Id: Ib77bba191841d3d50fbf5be482021b71dfa19e08 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* VS generator: Don't prepend $(ProjectDir) to absolute pathsThomas Epting2016-12-181-2/+6
| | | | | | Task-number: QBS-1081 Change-Id: I62f2016f87d0186eea6f8c7e3e784ab28f72f981 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* VS generator: Add missing trailing backslash to OutDir variableThomas Epting2016-12-181-1/+3
| | | | | | Task-number: QBS-1080 Change-Id: I1b390dd31d10675f0e1f4fe3abdee2980909724d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* EvaluatorScriptClass: Catch exceptions from script importing codeChristian Kandeler2016-12-161-4/+26
| | | | | Change-Id: I435a3610f0b5eed9eabb012592ef13f36f8c68cc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Bump versionChristian Kandeler2016-12-142-2/+2
| | | | | Change-Id: I8e14795decf3b29290a258f0c1fa03d41fc07c5b Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix deploymentTarget autotest with older versions of XcodeJake Petroules2016-12-143-18/+40
| | | | | | | | As a consequence, Xcode SDKs which Qbs recognizes but which do not exist on disk will now produce a much more readable error message. Change-Id: Ib847fca85ed02cadb33d3a3e944b41fa52a1c6f0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* MSVC: Add "WIN32" to the list of platform definesChristian Kandeler2016-12-141-0/+1
| | | | | | | | | This macro is set when building with Visual Studio and is often used interchangeably with the compiler define "_WIN32" by developers when testing for the platform. Change-Id: I4e14ffae162793bd8559796b449e26a3899d8cc8 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Allow passing autotest wrapper arguments to qbs autotestsJake Petroules2016-12-131-0/+2
| | | | | | | | Useful for sending test output to files in continuous integration, for example, where the arguments must vary for each individual test. Change-Id: I7b01e836d07864e41c6ab19810a5fcadfe840e44 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix clangdb autotest on WindowsChristian Kandeler2016-12-131-0/+12
| | | | | | | clang-check.exe does not understand MSVC-style command-line arguments. Change-Id: If273d0a1f2a04918fccb2af06fddbdb3a6568cf1 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix Cocoa examplesJake Petroules2016-12-123-4/+13
| | | | | | | | cpp.precompiledHeader no longer exists, and the iOS app was missing from the examples qbs file. Change-Id: I2e5f662fb28f6fcd0e4554866eb8828ca1be08ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Allow passing autotest arguments to qbs autotestsJake Petroules2016-12-121-0/+2
| | | | | | | | Useful for sending test output to files in continuous integration, for example. Change-Id: Ib9437f53347bae6e6db42cede18184151f8947d4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix erroneousFiles test on Windows when ls.exe is in the PATHJake Petroules2016-12-121-1/+1
| | | | | Change-Id: Iaaf229fe1794c70564bf7d898b49c37835da22db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Split up javaDependencyTracking testJake Petroules2016-12-122-15/+31
| | | | | | | | | This now runs as a series of individual tests that take approximately 10 seconds each rather than one giant monolithic test that takes several minutes without any progress indication whatsoever. Change-Id: I02432818bb1fc45677926cf42d7815ebd1b8dec1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix unnecessary output noise and absolute path assertions in testsJake Petroules2016-12-123-1/+5
| | | | | Change-Id: I59e7efa8d91ade54582cfffb39226724e22a4f69 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Include information on cost of storing the build graph when profilingChristian Kandeler2016-12-091-0/+1
| | | | | Change-Id: I445c0202178906dc6f8b04ff6f8e94f31fc705c4 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Turn process execution errors in GccProbe into fatal errorsJake Petroules2016-12-091-2/+2
| | | | | | | | | | | | | There is absolutely no point continuining from here, and ignoring errors from executing the compiler will simply result in a more cryptic error message for the user. For example, the bug fixed by the previous patch set resulting in an "unknown arch armv7" error message from Clang was actually displayed as missing compiler version properties, seemingly unrelated. Change-Id: I7ddf4a8f7b82a71355065074aae5401e7292bae1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix passing -arch x86_64h or -arch armv7 to Clang for Apple targetsJake Petroules2016-12-099-13/+116
| | | | | | | | | | This fixes a regression `clang: error: invalid arch name '-arch armv7a'` when building for iOS armv7, which affects Qt Creator in particular. Expand the scope of the deploymentTarget autotest to verify it does not happen again. Change-Id: Ic2689ec4474f74642d3de641b57a52854d2a8bdc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix some issues in the WiX module causing the autotest to failJake Petroules2016-12-093-19/+33
| | | | | | | | | | | | | | | | This allows qbs.architecture to be undefined for WiX, in which case the WiX default architecture of x86 will be used. The autotest would fail if there was no architecture set in the profile (which is allowed). This also corrects the registry key name for finding WiX, leading to incorrect autotest failures if WiX tools were in not in the PATH or WiX properties were not set in a profile. Lastly, this fixes a wrong concatenation of product.buildDirectory and improves the output and error reporting for the autotest. Change-Id: I227924b681131c13fcb09d2d5010b372ff44b241 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix javaDependencyTrackingInnerClass test when Java is not installedv1.7.0Jake Petroules2016-12-091-1/+9
| | | | | Change-Id: Ie700233a6b65eb094291e81b274de539e8c2fb51 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Downgrade error message from JavaCompilerScanner to a warningJake Petroules2016-12-076-4/+35
| | | | | | | | | | | | | This is not actually fatal, as Qbs collects dependency information both from the TreePathScanner API *and* the output files the compilation process writes to. Instead, downgrade it to a warning and also point users to the bug report. This fixes a regression from 1.5.x. Adds an XFAIL'ing autotest. Task-number: QBS-1069 Change-Id: I30e5f5d0d1554bf5078509768fdad12f20922319 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix propagation of defines to dependencies from QbsLibraryJake Petroules2016-12-071-2/+3
| | | | | | | | | | | | | | | The Export of cpp.defines could not possibly have ever worked as triple equals comparison of a string and array will always be false. Fix that, and then fix the resultant build errors by avoiding the addition of the QBS_STATIC_LIB define to an importing dynamic library, and warning in the case where the same translation unit will be seen with different visibility settings in different contexts. This also fixes warnings in generator plugins due to the different visibility. Change-Id: Icf91bfd5644c436ddea819cce61b7a4b654c0db4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Documentation: split list of items into language and convenience itemsJake Petroules2016-12-0731-57/+109
| | | | | Change-Id: Ia2f48518a4a78070a05a494c46debc8903308fa2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix unused variable warningJake Petroules2016-12-071-0/+1
| | | | | Change-Id: I033c2e4b68dc29d06dec88d640c2bfc530627a03 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix language tests on WindowsChristian Kandeler2016-12-071-1/+1
| | | | | | | FileInfo::exists() requires clean paths now. Change-Id: I40eb3273bd0a67174cc7e91c544e5e6cfb954890 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix usage of restored ProbesChristian Kandeler2016-12-072-2/+4
| | | | | | | | We have to set these up per actual product, not per product name. The latter is not taking profile multiplexing into account. Change-Id: I359c7316f106b756aaee74a5f4b7050fbc4e2bf3 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Emit deprecation warnings for relative paths in certain contextsChristian Kandeler2016-12-0620-0/+110
| | | | | | | | | Namely, for those in groups not located in the same directory as the product. We will change the base directory to a more sensible one in 1.8, and this patch gives users the chance to adapt in advance. Change-Id: I3a470b7f0664dc399633292d3f026f9636ca7aad Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* ModuleLoader: No warnings for module properties in Artifact itemsChristian Kandeler2016-12-061-0/+4
| | | | | | | | These are "special" due to QBS-1030 and must be ignored for now. Task-number: QBS-1058 Change-Id: I5a405ea035446c8d0c074f51bdde6bda78b3f8f1 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Document how to set module properties on generated artifactsChristian Kandeler2016-12-062-1/+16
| | | | | | | Task-number: QBS-1056 Change-Id: Id9c0031c3b8cdbffdb3a67a9545a0e67b9dda508 Reviewed-by: Denis Klychkov <kd.snake@gmail.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Doc: Clarify that qbs.installRoot is read-only within project filesChristian Kandeler2016-12-061-1/+2
| | | | | | Task-number: QBS-1063 Change-Id: Ic3ffc3125dac884324c9439861857c56d27a9716 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Set default QBS_INSTALL_PREFIX to /usr/local only on unixOrgad Shaneh2016-12-061-1/+1
| | | | | | | On Windows it should just be root. Change-Id: Ibc48b4aec6121ce03a8f2e6f60700e55b360acb6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Make Win32 API usage long-path awareJake Petroules2016-12-053-4/+16
| | | | | | | | | | | | | | | | | | | | | | Most Win32 API functions are limited to working with paths which are up to MAX_PATH (260) characters long by default. Windows 10 version 1607 allows this limit to be exceeded by setting a LongPathsEnabled registry key and manifesting the application with the longPathAware=true setting. We cannot rely on this being the case since we support older Windows versions and the registry key is set to off by default. Fortunately, most Win32 API functions allow prepending the \\?\ prefix which raises the path length limit to UNICODE_STRING_MAX_CHARS (32767) characters. This works on all Windows versions. For the FileInfo class in particular, this resolves potential false negatives for file existence, inability to retrieve modification times, and misidentification of directories as files. Task-number: QBS-1068 Change-Id: Ia4a37fa75ede803e3e2ecb63ae1ab12d2dae33bd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for building Inno Setup packagesJake Petroules2016-12-0510-0/+507
| | | | | | | | [ChangeLog] Add support for building Inno Setup packages Task-number: QBS-936 Change-Id: I4cc8e2b39ad93a7aa307a38d88e3f61687c8d364 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* macOS: Move foreground transformation code later in the lifetime cycleJake Petroules2016-12-052-9/+13
| | | | | | | | | This corrects an issue where the user sometimes needed to set focus on a different application and then back to qbs-config-ui in order to access the menu bar. Change-Id: Idecddd99e477cbee29a2e7d4aa16aeaf428757f0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix warning on UnixChristian Kandeler2016-12-021-4/+2
| | | | | Change-Id: Ibe366f16cb3258877ec23eb2aadd139dbda9f47c Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add VS 2017 supportJoerg Bornemann2016-12-026-42/+132
| | | | | | Task-number: QBS-1025 Change-Id: Ib08373b6b45fa0b728e68466d08d43a14f864d72 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ModuleLoader: Check the names of PropertyOptions itemsChristian Kandeler2016-12-025-0/+22
| | | | | | | | | We must uphold the invariant that all property declarations refer to properties that actually exist. Task-number: QBS-1065 Change-Id: I3f6f4af2837b086c3afff33bed37bb79fda972a3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Simplify determination of MSVC compiler definesJoerg Bornemann2016-12-021-57/+29
| | | | | | | | | | | Do not compile a helper program to output a specific environment variable. Use cmd.exe as compiler backend and pipe commands to it. This accelerates the whole stunt, and removes the need for determining the location of a host compiler. It might be that there is none installed. Change-Id: I1847feadada42ea009aafc730815207edf7e7ff0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>