aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Fix accessing toolchainInstallPath variable in NSIS moduleIvan Komissarov2020-08-311-1/+1
| | | | | Change-Id: Ib1892aed09efaa998084af0e8e805783fc39d971 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Extract compiler macros using common JS functionDenis Shienkov2020-08-315-32/+16
| | | | | | | | It makes sense to unify the compiler macros extraction using a common JS function, instead of a JS code duplication. Change-Id: I9eb9e8df012ca6bae3a38101906a4c70e2fc38c4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Introduce an "exportingProduct" variableChristian Kandeler2020-08-241-1/+1
| | | | | | | | | | | | | | | | | ... for use in Export items. It's not obvious that "product" refers to the exporting product, and in fact setting it up this way pollutes the scope for modules loaded via Export items. Therefore, we introduce exportingProduct for symmetry with importingProduct. [ChangeLog] Deprecate the product variable inside Export items in favor of the new exportingProduct variable. Task-number: QBS-1576 Change-Id: Ie91752d1ae2160cb7701ae0167bccde0cd5c0e5d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Merge branch '1.17' into masterIvan Komissarov2020-08-171-1/+1
|\ | | | | | | Change-Id: I733267955eb847f0de6148da3e2c210b2c9103e7
| * Fix passing compiler defines to mocIvan Komissarov2020-08-171-1/+1
| | | | | | | | | | | | | | | | | | This fixes the issue that Qbs doesn't pass the compiler defines to moc when processing header files which resulted to Q_OS_* being not defined. Fixes: QBS-1592 Change-Id: I58a0cc9af5cfa2fb4a370bb0d7204a3b100da437 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Initial CMake portIvan Komissarov2020-08-171-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change allows to build Qbs using CMake build tool Tested platforms - Linux (gcc) - macOS (clang) - Windows (msvc2017) Missing features (compared to Qbs build) - Documentation build - Bundled QtScript support - Static build - .pc file for qbscore - qbs module for qbscore Change-Id: I09b5dadd6723d5a47e5ef2a9a38d3300488718f2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch 1.17 into masterRichard Weickelt2020-08-1413-50/+115
|\| | | | | | | Change-Id: Ibdf2afb9f05682e0624540af22330abc8580bafb
| * Replace wrong continue statement with returnRichard Weickelt2020-08-141-1/+1
| | | | | | | | | | Change-Id: Ia764530de200b80acf833e0e9ffc751b1988756c Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| * Tune search order of path probesIvan Komissarov2020-08-131-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Within the groups of user-provided and system-provided paths, environment variables need to take precedence over properties, because there is currently no other way to override the search paths of probes from the outside if the probe-using code did not explicitly bind them to Product/Module properties. We search directly user-provided paths before ones from system-provided environment variables to minimize the risk of surprises due to outside influence. [ChangeLog][Behavior Changes] The lookup order in PathProbe changed to [environmentPaths, searchPaths, platformEnvironmentPaths, platformSearchPaths] Change-Id: Ib0c3bc44e5a8efaaaa073f28f1f3a53feb0f78db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Fix detection of ARM architecture details for KEIL armclangDenis Shienkov2020-08-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The '__ARM_ARCH_PROFILE' macro contains the desired ARM profile letter, which appends to the resulting ARM architecture name. But a problem is that this letter wrapped in quotes, e.g. 'M'. In this case the constructed architecture also has this quotes, e.g. armv6'm', that's wrong. We need to remove all quotes from the found letter and then append this letter to the resulting string. Change-Id: Idea61082ebb584151ddcb1acc9eba62a516ea170 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'compiler-listing-files' test for SDCC toolchainDenis Shienkov2020-08-132-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | A problem was in that the SDCC compiler does not have an option to disable generation for listing files. Besides, it use listing files for a linking. So, we need to use a workaround to remove the generated listing files after linking in case if the cpp.generateCompilerListingFiles property is false. Change-Id: I5913e62d307d296bd8891654d20787cf3a54833c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix typo in cpp.optimization flags for IAR toolchainDenis Shienkov2020-08-121-2/+2
| | | | | | | | | | | | | | | | | | We need to use the '-Ohz' options for the small code size optimizations, and the '-Ohs' options for the fast code optimizations. Fixes: QBS-1590 Change-Id: Ia172d29d884acd2161e072d245ebb13b89650e33 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Implement cpp.generateCompilerListingFiles for MSVC toolchainDenis Shienkov2020-08-122-3/+14
| | | | | | | | | | | | | | | | | | | | We need to use the /Fa compiler option as described here: * https://docs.microsoft.com/en-us/cpp/build/reference/fa-fa-listing-file?view=vs-2019 Change-Id: I81470bfbf84563a49bd5336e7204a07d5b2c910e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Use 'input' target instead of 'product' targetDenis Shienkov2020-08-082-6/+6
| | | | | | | | | | | | | | | | ... to get value of cpp.generate{Compiler|Assembler}ListingFiles properties. Change-Id: Iefd1401ac475a7937843a80af021668f0241a8c7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix linker MAP file generation for KEIL C51/C251/C166Denis Shienkov2020-08-081-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | 1. We need to use the {NO}PRINT linker options: * https://www.keil.com/support/man/docs/bl51/bl51_noprint.htm 2. The KEIL C251 should generate the linker MAP file with the *.map extension. Change-Id: Ibc1f362c7010a1c2812c21382b617e246c81e100 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix typos in input parameters for {linker|archiver} flagsDenis Shienkov2020-08-083-12/+12
| | | | | | | | | | Change-Id: I7f88ab54dd3e8870b55bb3540250eb037d328206 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix compiler listing generation for KEIL C166Denis Shienkov2020-08-061-1/+2
| | | | | | | | | | | | | | ... because the KEIL C166 compiler completely supports this feature. Change-Id: I86c2a6fdf485fd7c01544d44a4b2fc8b5401a7ad Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Add new 'external-static-libraries' testDenis Shienkov2020-08-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This test checks the cpp.libraryPaths and the cpp.staticLibraries properties. This test excluded for the KEIL C51/C251/C166 toolchains, because this toolchains has not the options to specify the library search paths: * https://www.keil.com/support/docs/1298.htm Change-Id: I17b5dc64ae3baacb32621b359863ba42c908d416 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Introduce new 'none' choosing for qbs.targetPlatformDenis Shienkov2020-08-043-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This 'none' value should be used for a bare-metal toolchains in the qbs.targetPlatform and the qbs.targetOS properties. Now this value is set in the profiles during automatic detection of such toolchains as IAR, KEIL and SDCC. Take into account, that it is impossible to do the same and for the GCC toolchain, because there are not exists a proper way to know that a current GCC is for a 'bare-metal'. So, the users should change the qbs.targetPlatform manually. Change-Id: I178fd526bbb5ae44f18e35ff12970ed0718c476d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Do not append the version number to a library nameChristian Kandeler2020-08-041-0/+1
| | | | | | | | | | | | | | | | Only the ".so" suffix is supported on Android. Fixes: QBS-1578 Change-Id: Idebece5338a765e779ff987fd89af66977ecc0fe Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix static library generation for GCC compilerDenis Shienkov2020-08-043-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A problem was in that the GenericGCC.qbs file missing the initialization for the staticLibrary{Prefix|Suffix} properties. This properties are initialized only in the derived UnixGCC.qbs or MingwBaseModule.qbs modules, which are does work only for the 'unix' or 'windows' platforms. So, we need to initialize required properties inside of a base GenericGCC.qbs module. Change-Id: Ie25f1a19acbc5d86e65eb5ac8f8205ae8079ebd9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Avoid wrong-typed temporary assignment to probe propertyRichard Weickelt2020-08-141-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code assigns a temporary string to the cflags and libs properties which are both declared as stringList. Later, it reads these properties, expects string values and converts them into arrays. While this seems to work with the current QtScript engine, it won't with the QML-based evaluation engine. That is because any read access to a item property will return exactly the declared type or undefined. In this particular case, we would assign the temporary string to a stringList property which the engine would automatically convert into a stringList (array) when reading and thus, calling split() would result in an error. Change-Id: I53e0c51ee042f787e0d444cdc6cfe4b8820e46ac Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.17' into masterRichard Weickelt2020-08-035-11/+20
|\| | | | | | | Change-Id: I20a6b02ee34719636f9996e02cff9e29cf160dd7
| * baremetal: Use checking on host OS in SDCC workaroundDenis Shienkov2020-08-021-1/+1
| | | | | | | | | | | | | | ... because using target OS has not sense for a bare-metal toolchain. Change-Id: I266a11a3de62443b9a4b5aef88707cc4ddfd0635 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
| * doc: Document more cpp module propertiesIvan Komissarov2020-07-311-3/+4
| | | | | | | | | | | | Fixes: QBS-1304 Change-Id: Ie7d2c4827119dbdc6c807c56912431fb3111f712 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * xcode: Fix ApplicationExtension with XCode 12Ivan Komissarov2020-07-301-1/+4
| | | | | | | | | | | | | | | | | | The path constructed by Qbs when using absolute framework path instead of it's name is no longer valid since frameworks now use .tbd files instead of a real binary Change-Id: I2ff1222eeac9405a8ad82f8c76f56cbeaee13995 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * qt6: Update cpp.cxxLanguageVersion in Qt templatesIvan Komissarov2020-07-281-1/+3
| | | | | | | | | | | | Change-Id: Id3c2f6fddd0cc7d078963e50b07e0fb9b9ded5bb Fixes: QBS-1577 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Pass all current tests for IAR M16CDenis Shienkov2020-07-271-1/+1
| | | | | | | | | | | | | | | | We need to exclude the '--deprecated_feature_warnings' flag for the IAR M16C compiler, because this flag is not supported. Change-Id: I48fbb99b5aa46f7a48857099d1cd55188e902ee3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix typo in CR16 architecture detection macro for IARDenis Shienkov2020-07-271-1/+1
| | | | | | | | | | | | | | This also passes all current tests for IAR CR16. Change-Id: I685526b3f215830cdc0cf77c7e231c451dd4ecdf Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass all current tests for IAR SHDenis Shienkov2020-07-271-1/+2
| | | | | | | | | | | | | | | | | | | | We need to exclude the '--deprecated_feature_warnings' flag for the IAR SH compiler, because this flag is not supported. Also we need to set the architecture-specific linker options. Change-Id: I038fe6972aeed9deb8cc3e76308cb1e393a15b8b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass all current tests for IAR R32CDenis Shienkov2020-07-261-1/+1
| | | | | | | | | | | | | | | | We need to exclude the '--deprecated_feature_warnings' flag for the IAR R32C compiler, because this flag is not supported. Change-Id: I96ba6e177c0ba38c6fda99a89fde5d7664011315 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass all current tests for IAR AVR32Denis Shienkov2020-07-261-4/+6
| | | | | | | | | | | | | | | | We need to exclude the '--deprecated_feature_warnings' flag for the IAR AVR32 compiler, because this flag is not supported. Change-Id: Ia8a39b4049a673409ff20850d0c64b6ff6822a4b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | protobuf: remove deprecated propertiesIvan Komissarov2020-07-272-9/+2
| | | | | | | | | | Change-Id: I871b7f46ffab880fa2a2762c2339907fe7d01f88 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch 1.17 into masterRichard Weickelt2020-07-2418-50/+272
|\| | | | | | | Change-Id: Ice408bd77aa9f6481960c4fdf7f345a1a39b9f80
| * Fix CONFIG variable being read incorrectly in setup-qt.jsMitch Curtis2020-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_CONFIG was read in the line before CONFIG, and the regex matched it: QT_CONFIG += private_tests shared shared [...] CONFIG += shared shared debug sanitize_address sanitizer This would lead to address sanitizer being ignored and requiring workarounds. Use a stricter regex that doesn't allow arbitrary characters before the key. The regex can be tested manually here: https://regex101.com/r/aYSWwG/2 Change-Id: I8b6a509d0fdd9500c527497fa3545646f24c42d1 Fixes: QBS-1387 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Android: Do not fail if project contains multiple shared librariesAlberto Mardegan2020-07-211-3/+2
| | | | | | | | | | | | | | | | | | Do not fail the detection of the main binary if the first two candidates do not match the product name. Simplify the logic to exclude all non-matching candidates except the first one. Change-Id: I5046d7e103a9130c602aa8991bb9853c6ff593dd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Add support for Cap'n Proto for the c++ languageIvan Komissarov2020-07-213-0/+226
| | | | | | | | | | | | | | | | | | | | | | Cap'n Proto is a 'cerialization protocol' similar to protobuf: https://capnproto.org/index.html This patch mainly focuses on the c++ support for the capnp protocol keeping in mind the possibility to add other languages later. Change-Id: Ib19a9df1f45f2787503197791ac597d06cc45e9d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * xcode: Fix Xcode 12.0 supportIvan Komissarov2020-07-203-2/+19
| | | | | | | | | | | | | | | | | | The *.xcspec files for macOS were moved into the *.ideplugin directory similar to how it is done for iOS/tvOS/etc. Fixes: QBS-1582 Change-Id: I478742c4b52b08f7feee4108272da7bf2b12a744 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Don't pass cpp.driverFlags to KEIL assemblerDenis Shienkov2020-07-161-2/+1
| | | | | | | | | | | | | | | | | | ... because the cpp.driverFlags intended only for the compiler and the linker; the assembler required the cpp.assemblerFlags instead. Change-Id: Ie1cca820d54095fc1361f5b9b049adc57674b3fd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Don't pass cpp.driverFlags to IAR assemblerDenis Shienkov2020-07-161-2/+1
| | | | | | | | | | | | | | | | | | ... because the cpp.driverFlags intended only for the compiler and the linker; the assembler required the cpp.assemblerFlags instead. Change-Id: I0758937d40f02cbc6ff76b36b7c11fe5f4ddcf08 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Don't pass cpp.driverFlags to SDCC assemblerDenis Shienkov2020-07-161-2/+1
| | | | | | | | | | | | | | | | | | ... because the cpp.driverFlags intended only for the compiler and the linker; the assembler required the cpp.assemblerFlags instead. Change-Id: Ib2b70b349517dfa7d125e3c15491e2f4a870a95d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Probes: Remove nameFilter from FrameworkProbeIvan Komissarov2020-07-162-8/+5
| | | | | | | | | | | | | | | | | | | | It is not possible to use functions as values for properties with the new JS engine. Remove nameFilter by allowing to have common nameSuffixes for different selectors. Change-Id: I24ae747f4d609c956285e77ee832c6e99304a622 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Probes: Remove deprecated properties from PathProbeIvan Komissarov2020-07-151-10/+2
| | | | | | | | | | | | | | | | They were declared deprecated in qbs 1.13, looks like it's safe to remove them. Change-Id: I493f7bb9578da1bb579161338bcb5d391cc15f4c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * protobuf: Do not call outputDir() that oftenIvan Komissarov2020-07-133-10/+10
| | | | | | | | | | Change-Id: I1f436eb2d15393fc010a4ab29f879ae0828b0cc3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * protobuf: use FileInfo.joinPaths instead of string concatenationIvan Komissarov2020-07-131-2/+3
| | | | | | | | | | Change-Id: Id86b94f0ca333942a769d86ebed47b629a43cf03 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Pass 'one-object-asm-application' test for SDCC MCS51Denis Shienkov2020-07-101-8/+1
| | | | | | | | | | | | Change-Id: I2b26c60bd5e9c84c917b58cddf45f25461313c66 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix wrong array iterationRichard Weickelt2020-07-132-6/+5
|/ | | | | | | | | | It is not recommended to use 'for in' loops to iterate over arrays because additional properties in Array.prototype would be iterated over as well. For unknown reasons this is not the case when using QtScript, but it would be a problem when running on QJSEngine. Change-Id: I4404c03a6277dae471a9beb162b539edb9ace426 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* protobuf: make outputDir property "private"Ivan Komissarov2020-07-084-6/+6
| | | | | Change-Id: I0b6d77a6ca2333feafa67bfd904862fb318f05e6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix wrong variable scope in protobuf.jsIvan Komissarov2020-07-071-1/+1
| | | | | | Change-Id: Ife096ede8ac7a929fb1ae2c7323c79258a0f1d8e Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: get rid of the unused 'product' parameterIvan Komissarov2020-07-073-11/+11
| | | | | Change-Id: I1f1c5d04d2c3e87c39eb668e4dc3feebb9fc452c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>