aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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: 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>
* 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