aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* clang-tidy: fix 'readability-simplify-boolean-expr'Ivan Komissarov2024-02-231-1/+1
| | | | | Change-Id: I65a98c0f6b80773b1e8a30e6db7df3a63b521570 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* VS generator: Fix clang-tidy complaintsChristian Kandeler2023-09-301-2/+2
| | | | | | | Amends 8b6426a5af4a7b397d8ed3bb799902d281ea6984. Change-Id: Id9ad05d056535de22008d861a5a81594237e334d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add groups support for MS build projectNick Karg2023-09-221-76/+169
| | | | | | | | | | | | Added the ability to create Visual Studio project filters according to groups in the qbs configuration file. Information about standard filters has been moved to static constants to reduce the number of memory allocations when processing a large number of qbs products. Change-Id: I9b230f28ae0f7ea0ccd5aab9994ba370b4ba3b4a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Port from qAsConst() to std::as_const()Marc Mutz2023-05-224-6/+6
| | | | | | | | | | | | | | QBS has been requiring C++17 since at least 1.18, probably earlier. Providing qAsConst() is finally starting to bother Qt (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I51154f8c5d283a90b1db89bcb4b6a7671edca0f0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* RIP QMake buildIvan Komissarov2022-12-1620-351/+0
| | | | | | | | | | We have been supported CMake build for quite some time so users should have plenty of time to adapt. Ubuntu, Brew and macports also use CMake for building QBS. Change-Id: Ib78177f4a7ca8cdea1a2f3a8eac8bfe804674f32 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not use QString::count()Christian Kandeler2022-10-141-2/+2
| | | | | | | It's deprecated in Qt 6.4. Change-Id: I8daa6fc7fffbe80938dd3cc64168bfd9471f85f4 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* clang-tidy: fix 'performance-no-automatic-move' warningIvan Komissarov2022-08-161-2/+1
| | | | | Change-Id: I0fea777445be769080b5e5534eb8dd05cf4652be Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: fix 'performance-trivially-destructible' errorIvan Komissarov2022-08-162-3/+0
| | | | | Change-Id: I8679408bca49076dc51c1ec06411c3b5f80f2764 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: fix bugprone-branch-clone in msp430generalsettingsgroup_v7.cppIvan Komissarov2022-08-151-2/+2
| | | | | | Change-Id: I317346e2fb87af2a64b5405715c7ac1961d9c9bd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* clang-tidy: fix bugprone-branch-clone in stm8generalsettingsgroup_v3.cppIvan Komissarov2022-08-151-2/+2
| | | | | | Change-Id: I8c026b01e546bc25468c1852fbf0ec09f09c56aa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* clang-tidy: fix bugprone-branch-clone in mcs51generalsettingsgroup_v10.cppIvan Komissarov2022-08-141-35/+19
| | | | | Change-Id: Ie7dedd5ff50a67452d377ce52c768d6a57ae44a8 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Use std::transform where it is possibleDenis Shienkov2022-01-274-25/+20
| | | | | | | ... to unify and simplify a code. Change-Id: Ia493c5f428c1da4df3c8623e448be8ac72fd4f44 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Replace std::erase && std::remove_if chains with Internal::remove_ifDenis Shienkov2021-12-223-13/+11
| | | | | Change-Id: Ia267b9419227db5f4382a33aa99eb7dbe0ada45f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix Clang-Tidy & Clazy 'readability-use-anyofallof' warningsDenis Shienkov2021-11-291-5/+4
| | | | | Change-Id: I785b2c065dbd3daf4ae74f1e7a39e6be61489467 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Clang-Tidy & Clazy 'llvm-else-after-return' warningsDenis Shienkov2021-11-223-10/+13
| | | | | Change-Id: I16649525d797c980c0ba1357b3671b683c4fde25 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Clang-Tidy & Clazy 'clazy-unused-non-trivial-variable' warningsDenis Shienkov2021-11-171-1/+1
| | | | | Change-Id: Ie62da8d2a47fe9218d2246216e9affb5fe79374f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Clang-Tidy & Clazy 'clazy-qstring-arg' warningsDenis Shienkov2021-11-153-14/+8
| | | | | | | | This patch fixes the "Use multi-arg instead [clazy-qstring-arg]" warnings. Change-Id: I205c94d33574b6f7af486b3654dd2d8591746f6c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Merge 1.20 into masterChristian Kandeler2021-08-209-10/+0
|\ | | | | | | Change-Id: Id78213238c8692d7aaa1a73378704fa9ef4238a9
| * Remove `import qbs` from all project filesDenis Shienkov2021-08-049-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... because we don't need in this inclusion at all. But for some cases it is impossible to remove that inclusions (and even to move on next lines) because then the some tests are failed by unknown reason. For those tests were added the following comments on the inclusion lines: `// FIXME: Don't remove this import because then the test fails!` Change-Id: I9153fd0e38b94af08168e499ee46a23889ee4d73 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Get rid of Set::to/from methodsIvan Komissarov2021-08-161-2/+3
|/ | | | | | | | | ... and replace them with the new template rangeTo method Also, add efficient Set(Iter, Iter) ctor. Change-Id: I5a2345ca84373692e3ba815e5a8f38cb4cfc4308 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use smart pointers in Qt scannerIvan Komissarov2021-05-131-7/+6
| | | | | Change-Id: I5ed9a9d97eeabff70b5a67f3e7fcfbe49fb13675 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* qt6: do not use QString::fromUtf16(ushort*) overloadIvan Komissarov2021-03-031-2/+2
| | | | | | | This amends 05b74ff72. Change-Id: I18b8006d246355a49b669b097b1e14d776f0cbac Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* qt6: do not use QString::fromUtf16(ushort*) overloadIvan Komissarov2021-02-161-1/+1
| | | | | | | ... it was deprecated Change-Id: Ibfff7424383edada54407e795fdf0b1757839dcb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix some Qt 6 build errorsChristian Kandeler2020-11-251-1/+1
| | | | | Change-Id: I80dccfacb749ecfc8bfb8000bdc26c684f2afa52 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* clang-tidy: Apply modernize-use-nullptr fix-itIvan Komissarov2020-10-262-4/+4
| | | | | Change-Id: I404ac10a14517763daf656dd38dd560534cbf1fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use std::string_view in FileSaverIvan Komissarov2020-08-271-1/+1
| | | | | | | | This allows to avoid memory allocation when converting from QByteArray to std::string/std::vector<char> Change-Id: Id46791c02e2302cc9b0b3e6c01442393c0e73fa9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Bump c++ version to the 17th standardIvan Komissarov2020-08-211-1/+1
| | | | | | | We can do that now as QtC moved to c++17 in master Change-Id: I91d7fc425f1b288f341ee3025fec61a53e98c8d9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* cmake: Fix target namesIvan Komissarov2020-08-207-7/+7
| | | | | | | | | | It should be 'qbscore', not 'corelib'. Same for the static logging library. This amends b67b08f1c2c. Change-Id: I3b79ce75168360f8708b143471f0b4c223b2f5fd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Initial CMake portIvan Komissarov2020-08-1710-0/+273
| | | | | | | | | | | | | | | | | | | 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>
* Fix mingw linker issueOliver Wolff2020-07-161-0/+2
| | | | | | Change-Id: I4890eb09182446eb4df0e0c1ab8a6ab0cda1e6cd Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* visualstudiogenerator: fix generating projects for the new VSIvan Komissarov2020-07-061-1/+1
| | | | | | Fixes: QBS-1569 Change-Id: I190b4c0cc6f83078f7e16ed3263510e0bc208f4b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix '-Wclazy-range-loop' warningsIvan Komissarov2020-06-082-2/+2
| | | | | | | The warning says 'c++11 range-loop might detach Qt container' Change-Id: I6b6a91d6b3298702246da94f05d21623d5f13faa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProductData: return members by const-referenceIvan Komissarov2020-06-0215-28/+16
| | | | | Change-Id: I865d28b8fd930820c7145a3bf8aa76b2dd677550 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectData: return const values/referencesIvan Komissarov2020-05-252-5/+4
| | | | | | | | | | | Qbs does not care that much about binary compatilibity (because of qbs session) and thus is is preferable to return members by const-ref (saving 2 atomic operations and preventing from accidental detaches). In case when method needs to compute some value instead of returning member directly, the function signature can be changed. Change-Id: I4e8d228761a990d274e77652c94adf9f43a758f1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Fix 'cppcoreguidelines-pro-type-member-init' warningsIvan Komissarov2020-04-276-26/+9
| | | | | | | | | | | Also, fix undefined behavior when setting and reading different field of a union (Lexer, Token) - according to the C++ Standard, it is not allowed to use a union to zero members of a struct. Treat these warnings as errors now. Change-Id: I0f6d071217ef55e2c75c51138fcff47048eca62f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Fix 'readability-*' warningsIvan Komissarov2020-04-203-4/+4
| | | | | | | Treat those as errors except for the 'readability-container-size-empty' Change-Id: I6a8bb9d68fb5bc89697cc42179337d338a51035e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Move some Visual Studio generator parts into libqbsmsbuildJake Petroules2020-04-1753-3796/+4
| | | | | | | | | | | | This static library contains the MSBuild and Visual Studio solution object model classes and serialization code, without any qbs project model specifics. The latter goes into the generator plugin itself. The Xcode generator will follow the same separation of concerns design when it is introduced. Change-Id: I0a7aca2457c7b7474e0a0a127a3ce5fbec7682f6 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Suppress 'cppcoreguidelines-pro-type-cstyle-cast' warningIvan Komissarov2020-04-171-1/+1
| | | | | | | Also, treat it as an error Change-Id: Ia2918ce83f2b27d8a039d2651c7edc2d40ccdbdc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Fix 'bugprone-narrowing-conversions' warningsIvan Komissarov2020-04-142-5/+5
| | | | | | | Also, treat those as errors Change-Id: I0771aa656273fd0a01c7787870d9de9b4c631823 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Fix 'modernize-use-bool-literals' warningsIvan Komissarov2020-04-141-2/+2
| | | | | | | | Also, treat those as errors Change-Id: I90ff7778e6e6333f4ca22706c8114c3608d39a39 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Fix 'google-readability-namespace-comments' warningsIvan Komissarov2020-04-071-1/+1
| | | | | | | Also, treat those as errors Change-Id: I33e5adef456b2c3445e00297d48770d99781aedd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* qmake build: Mark plugins as pluginsChristian Kandeler2020-01-311-1/+1
| | | | | | | | It's unclear why this was only done for Unix targets. Fixes: QBS-1529 Change-Id: Id853871af68eeaa1104c8124e6a3e7bfd3f9883d Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Fix clang-tidy errorsIvan Komissarov2020-01-292-4/+3
| | | | | Change-Id: I2abc42456bfa618860ca58736f4d28e8bf56a1c6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* generators: Use constexpr arrays for iar/keil knownVersionsIvan Komissarov2020-01-0820-171/+34
| | | | | | | | This places all data in the RO section and makes code simpler Change-Id: I7a4e8afbe2558aa2aee8f15302128101eb4c0f7e Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* generators: Use QFlags to represent a "set" of architecturesIvan Komissarov2020-01-084-4/+4
| | | | | | | | | This allows to avoid unneseccary allocations and use architecture "set" in a constexpr context Change-Id: I2352e899572978b3d1d7924e6f807b7441603aa7 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* generators: make VersionInfo non-virtualIvan Komissarov2020-01-074-28/+0
| | | | | | | | | | | | | There is no need to check if marketing version is a "known" version since all generators are created only based on the list on known versions, i.e. there is no way how "unknown" version object can be created If this will be required in the future, it's better to use templates or overloaded functions instead of virtual functions here Change-Id: I85367c0722dc8561b2a937d4b496677af8f901f3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix 'performance-unnecessary-value-param' warningsIvan Komissarov2020-01-076-9/+9
| | | | | | | | | | Use more pass-by-const-ref since there is no point in passing objects by value in these cases Also, treat this warning as error Change-Id: I5382dcd56639f535cf240205cc5c3ac667c4ece3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix 'performance-move-const-arg' warningsIvan Komissarov2019-12-094-9/+9
| | | | | | | | | | | Also, treat that warning as error In some places move is redundant (e.g. when moving int or enum), in others it wasn't working as expected (i.e. not moving, but copying instead), in some, const-ref was (uselessly) moved. Fix those places Change-Id: I0b38667a71967fa35ca627990d3c12124fb62af0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix 'modernize-use-emplace' warningsIvan Komissarov2019-12-021-1/+1
| | | | | | | | | | std::vector::emplace_back creates an object in a vector and allows to avoid creating temporary object that is than moved into a vector. This simplifies code a bit as it is not necessary to call std::make_pair or use uniform initialization to create a temporary object Change-Id: I0c5500a818f78d07bc753e25f529c06762cb615c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Apply 'modernize-make-unique' fix-itIvan Komissarov2019-11-282-2/+6
| | | | | Change-Id: I93783cfa3267f69237b0ad888d0747e4272cda0a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>