aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Rename PathProbe.pathPrefixes and PathProbe.platformPaths propertiesIvan Komissarov2018-12-1017-32/+44
| | | | | | | | | The naming was misleading - prefixes had the same logical meaning as platformPaths, despite the fact completely different PathProbe.pathSuffixes property exists. Change-Id: Ie593b5e03d27de4f8aafed821a3b37cc1b3b0b9e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* MSVC: Fix handling of intermediate objectsChristian Kandeler2018-12-031-1/+2
| | | | | | | Amends 2e830e5e4f. Change-Id: Ifecc822412c481d45121fa7d792e1fb2aa4e2064 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Support big Qt resourcesJoerg Bornemann2018-11-302-5/+15
| | | | | | | | [ChangeLog] Introduced the property Qt.core.enableBigResources for the creation of "big" Qt resources. Change-Id: Ic87aa70132240e67243c1cbe137583a371558261 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix environmentPaths properties typeIvan Komissarov2018-11-221-2/+2
| | | | | | | These are the names of env variables containing paths, not paths itself Change-Id: I9054f4ffa3b3b005ee8ef56f6c43ac53ba4f53ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add protobuf.cpp and protobuf.objc modulesIvan Komissarov2018-11-226-6/+325
| | | | | | | | | | | These modules implement google protobuf support for QBS for c++ and objective-c languages [ChangeLog] Added protobuf support for C++ and Objective-C. Fixes: QBS-563 Change-Id: I4bb7e0bdfc1e09ea26c0cd3d3739a741ff834e5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Properly support building Qt apps for AndroidChristian Kandeler2018-11-161-2/+12
| | | | | | | | ... via the androiddeployqt tool. Fixes: QBS-991 Change-Id: I4a3abe977fee6a9d1657a4fd6c1b43709429da9f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Qt support: Allow users to pull in plugins by typeChristian Kandeler2018-11-091-6/+0
| | | | | | | | | | ... and properly set the default values. Fixes: QBS-1409 Change-Id: Ib8f3573fcb48d395d9212ac4b01e5caf910c575f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix detecting path to the MacOSX.platformIvan Komissarov2018-11-051-2/+5
| | | | | | | | It was incorrectly detected by appending OS suffix which wrong as there is no OSX Simulator Change-Id: I19e8b06f51e65a897eae3cc018e994ed696b1d7e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Initialize the multiplexing properties to empty listsChristian Kandeler2018-11-021-3/+3
| | | | | | | | ... rather than leaving them undefined. There is existing code that relies on these properties being a valid array. Change-Id: I01252c1494088cac2006e590ff73ea18e63bbe40 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* qbs module: Do not set default values for multiplexing propertiesChristian Kandeler2018-10-311-21/+2
| | | | | | | | | | We cannot know whether these values are what the user wants, or even whether they will work in a given environment. This violates the principle that modules should only pre-populate list properties if they are known to be correct under all sane circumstances. Change-Id: I81ba53fdb619639324a0f54d289d1183c909c4cb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: Convert to new-style property access syntaxChristian Kandeler2018-10-191-6/+4
| | | | | Change-Id: Ie8a6972b5daf5cd1ef98bde65ed4db856ad4a735 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: Enable building apps with native code and no multiplexingChristian Kandeler2018-10-192-2/+4
| | | | | | | | | | | Until now, we needed to either put the native part into its own product or use multiplexing with the "APK product" serving as the aggregate. Now it is also possible to use a single product without multiplexing, which is a more natural approach in the case where there is only one architecture. Change-Id: I976168c99f75ad8e4940ac61f957c64ad29f5f5c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: Update compiler flagsChristian Kandeler2018-10-151-31/+6
| | | | | | Fixes: QBS-990 Change-Id: I185890808af1839a23c1551fe5554be40822561b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: Make sure the manifest file has the right package nameChristian Kandeler2018-10-122-3/+33
| | | | | | | | This prevents Android.sdk.packageName to get out of sync with the respective entry in the manifest file. Change-Id: I9cc8af5f74da2515d094b3988104f5037a12574a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge 1.12 into masterChristian Kandeler2018-10-125-19/+50
|\ | | | | | | Change-Id: I96c735aeda89e02f1fa9107ecfc10ebf4b554dbc
| * Exporter.qbs: Prevent passing an empty string to FileInfo.relativePath()Christian Kandeler2018-10-121-1/+1
| | | | | | | | | | | | Change-Id: I55a5daf06dfc89a302914a3e3a0734540e2b401e Reviewed-by: Alexander Jakobi <alex.jakobi@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android support: Adapt to changes in newer revisionsChristian Kandeler2018-10-112-14/+40
| | | | | | | | | | | | | | | | Revision 17 dropped some architectures, revision 18 removed GCC. We also missed some earlier changes to clang-related paths. Change-Id: Ie2fa1891f7f4de28e18ea6caadce9eac964bb523 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * MSVC: Add support for the Visual Studio 2017 Build ToolsChristian Kandeler2018-10-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This entails: - Auto-detection: The Build Tools no longer have an entry in the registry; use the vswhere tool instead. - Unset the VSINSTALLDIR environment variable before calling the vcvarsall.bat script, as this variable can confuse the msbuild.bat sub- script if it is set. - Look for the base include directory two levels above the directory under which cl.exe is located. Change-Id: Id8f7976e5f41015e59850d3ed68fa81b6ce701a2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | cpp module: Work around distcc quirkChristian Kandeler2018-10-111-0/+20
| | | | | | | | | | | | | | | | | | | | Apparently, the distcc tool requires its argument to be a pure file name rather than a full file path. Task-number: QBS-1336 Change-Id: I6de8ee2f8fa341929a0f1057cbb491a15ec0446b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Allow additional assets and resourcesChristian Kandeler2018-10-111-4/+41
| | | | | | | | | | | | | | | | | | | | | | Until this patch, we were limited to the assets and resources located in Android.skd.assetsDir and Android.sdk.resourcesDir, respectively. Now additional assets and resources, possibly auto-generated, are considered as well. Change-Id: I9577c81ccff94624a70cf706f55ddaa8e0b68992 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Rewrite the rules gathering binaries for packagingChristian Kandeler2018-10-044-146/+108
| | | | | | | | | | | | | | | | | | | | | | These rules were unnecessarily complicated; in particular, the indirection via a text file for the gdbserver and STL binaries was not needed. This also fixed the gdbserver file name in the package: It has to be libgdbserver.so, rather than just gdbserver as on the host. Change-Id: I2315660983904e8b922164be9054d6bba51f852d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | MSVC: Give hint about possible reason for missing import libChristian Kandeler2018-09-041-4/+23
| | | | | | | | | | | | | | | | | | | | If an import lib is unexpectedly not present, the reason is usually that no symbols are exported from the DLL. This is not obvious at all, so catch this condition and explain what is happening. Task-number: QBS-1291 Change-Id: Ia2df8e1a27e0231e855413245703ffc05221722e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | MSVC: Suppress "performing full link" also for executablesOrgad Shaneh2018-08-291-1/+2
| | | | | | | | | | Change-Id: Ibf544198b23021361d90b3d3c1cdbbbb0651453b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Properly support the aidl toolChristian Kandeler2018-08-271-2/+10
| | | | | | | | | | | | | | | | We now pull in the AIDL framework file and let the user set search paths for imports. Change-Id: I93460a77b064fa87849b93c0b0e4bd3bbfd7459f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Enable the Application item to create Android appsChristian Kandeler2018-08-108-62/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The formerly required AndroidApk item is no longer needed: We just tag the APK file as an application and let the Application item pull in the Android.sdk module for Android targets. It is also possible to have native code directly in the Application product; in that case, the multiplexed variants become dynamic libraries and the APK file is built for the aggregate. [ChangeLog] The AndroidApk item was deprecated, a normal Application item can be used instead. Change-Id: I04f5f3892f354ca9eb4f2da8055abcd8d072aba0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add support for job poolsChristian Kandeler2018-08-084-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commands can now be assigned to an arbitrary job pool and a limit for the number of concurrently running jobs in such pools can be provided in a number of ways: - via the build command line: qbs --job-limits linker:1 - via the settings: qbs config preferences.jobLimit.linker 1 - in a project file: JobLimit { jobPool: "linker"; jobCount: 1 } We provide two job pools ourselves with the cpp module: "compiler" and "linker". [ChangeLog] Added the concept of job pools for limiting concurrent execution of commands by type Task-number: QBS-743 Change-Id: Ib3f361dbc73093e342bf0eba0daf2079a2b3a8ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-08-033-7/+10
|\| | | | | | | Change-Id: I0ce6c28f9117f945c9fec0654bd06daf3d13ace0
| * GCC: Allow the -march option to be set in project filesChristian Kandeler2018-08-021-3/+2
| | | | | | | | | | | | | | | | | | It is unrealistic to cover all its possible uses via dedicated properties. Task-number: QBS-1018 Change-Id: Iacfb9617ef130255c35766f057c60be9f816bca2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * GCC: Fix ldconfig ProbeChristian Kandeler2018-07-311-2/+6
| | | | | | | | | | | | | | | | | | There can be additional content on a line of ldconfig output after the colon. Task-number: QBS-1372 Change-Id: Icb24f02951d323f00f8c3bd25f61021f3bf72839 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * GCC: Only consider absolute paths for the system paths checkChristian Kandeler2018-07-301-2/+2
| | | | | | | | | | | | | | | | There is no reason to pay for the call to canonicalFilePath() if the candidate is not an absolute path. Change-Id: Ief39a72ef8967c1315fe6665e1b2795da168027e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Report an error on unexpected output tagsChristian Kandeler2018-07-135-8/+12
| | | | | | | | | | | | | | | | | | | | The artifacts a dynamic rule produces need to be consistent with what it declares in its outputFileTags property. Somewhat suprisingly, such a check was missing so far, so we managed to make such mistakes in our very own modules. These are also fixed here. Change-Id: I9052a8c4b0423e8fd146c9fc67bf5c3ce752c638 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Remove support for in-build-dir-execution of the qbs qbs buildJoerg Bornemann2018-07-121-27/+4
| | | | | | | | | | | | | | | | | | | | This is not supported. People must use the content of the installation directory instead. This reduces complexity of qbs' own project files. Change-Id: I39f8bb4d5252b0631a64b3aac01f83b09b28ae0f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-07-122-2/+2
|\| | | | | | | Change-Id: I056a96c062881c2a07ec15b1803efa9c9aa1a02a
| * Update link for minimumWindowsVersionOrgad Shaneh2018-07-111-1/+1
| | | | | | | | | | Change-Id: Ibb98b4a9166e3cd61fe9aacd0e6a5a2eb9eb7624 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * MSVC: Suppress "performing full link" messageOrgad Shaneh2018-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Building a DLL in debug mode for the first time shows the following error message, which also causes the entire command to be printed out: LINK : F:\Projects\...\Library.dll not found or not built by the last incremental link; performing full link Change-Id: I17d530e184074796b17178ae9efce66bc877ffa2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | mingw: Create import libraries alongside DLLsChristian Kandeler2018-07-054-18/+34
| | | | | | | | | | | | | | This is the platform standard, and it gives us smart relinking for free. Change-Id: Iee9e14fe66c9418adaa14893fe2b4f573408f77d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-294-8/+18
|\| | | | | | | Change-Id: Ieaf617a09ed16cf0c81ea7621d4d0ba23741fbfa
| * GCC: Do not add non-existing paths to cpp.systemRunPathsChristian Kandeler2018-06-281-1/+2
| | | | | | | | | | | | Change-Id: Ib8db4e47b9f9982152b46ec7ada4696456185cf4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * GCC: Filter libraryPaths for entries from systemRunPathsChristian Kandeler2018-06-261-1/+10
| | | | | | | | | | | | | | | | | | ... when constructing the command line, the same way as we already did for rpaths. Change-Id: I7d69e85fe4ba9a5659653a941adcdbe6cc328a67 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Fix rule input tags in the Exporter modulesChristian Kandeler2018-06-222-6/+5
| | | | | | | | | | | | | | | | | | | | We need to make sure all the artifacts are present in the build graph before writing the respective interface file, but we don't need to rewrite it if these artifacts are rebuilt. So use auxiliaryInputs instead of inputs. Change-Id: I82dee65f6630a0bbd24245df9100e4dabf0320f2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Do not pull in the bundle module unconditionallyChristian Kandeler2018-06-221-1/+1
| | | | | | | | | | | | | | | | ... into our convenience products such as Application. It is not needed for non-Darwin platforms. Change-Id: I4cba4c088eeb5817e6991ccbf2c78b41d5ac88c8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Remove "qbs" from some rule input tagsChristian Kandeler2018-06-223-3/+3
| | | | | | | | | | | | | | | | This hack hails from the days where rules required inputs and is no longer needed. Change-Id: I683f94c1e317784e3e9dc3bd7589459a0ba91f9f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-222-1/+7
|\| | | | | | | Change-Id: I3b5f14cf38452aaa740ac66cffa1e740f7349823
| * Don't link to multiplexed libraries when depending on the aggregateAlexandru Croitor2018-06-201-0/+6
| | | | | | | | | | | | | | | | | | | | ... library, this can lead to warnings or linker errors. Most easily seen on macOS when multiplexing across multiple architectures, and an app ends up linking against multiple multiplexed variants of a dependent product library. Change-Id: I4ea4b419099a1010f7b8c32ee11079da93f1d236 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * MSVC: Relax version check for /WHOLEARCHIVEChristian Kandeler2018-06-181-1/+1
| | | | | | | | | | | | | | | | The flag is supported in earlier compiler versions than our code assumed. Change-Id: I5bc32c29c61885ca38e60bb8a000250a11d32b0c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Remove the base module import from shared imports and modulesJoerg Bornemann2018-06-2275-97/+0
| | | | | | | | | | Change-Id: I5270e033dc41b5bd76a417099514c69cc073008b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use Rule.name in favor of id in toolchain rulesJoerg Bornemann2018-06-142-10/+10
| | | | | | | | | | | | | | | | | | | | The ids are currently unused and so are the names. But while the ids are of no value at all, the names can be useful for debugging. Also, we might use them later as a way to identify rules / groups of "similar" rules (e.g. linker rules). Change-Id: I6dfac1db7c36a6cae52298ceb0691a106379ae3c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-083-1/+320
|\| | | | | | | Change-Id: I0c914674c0728a7f7bc70fd9608914b95ef55a30
| * GCC: Fix input tags for static librariesChristian Kandeler2018-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | We forgot to adapt the static library rule back when we implemented smart relinking. Change-Id: Iea952c868ca7b5c0bda89690865d554be4893bb5 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Exporter.pkgconfig: Add support for custom variablesChristian Kandeler2018-06-061-0/+8
| | | | | | | | | | Change-Id: I42a01e549c15c91428d0f8bd9be03ea59c773032 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>