aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlcachegen/qtquickcompiler.prf
Commit message (Collapse)AuthorAgeFilesLines
* qmake: Fix generated *_qmlcache.cpp file pathsJoerg Bornemann2022-12-141-0/+1
| | | | | | | | | | | | | | | | | ...for source files that are outside of the source directory. Having QML files that are generated in the build directory led to *_qmlcache.cpp files with very long file names, hitting file system limitations on Windows. Apply the same fix that was done for generated qmlcache.qrc files in commit 5d7710a623ecde64316c42fd097db386ac28dd51. Pick-to: 6.2 6.4 6.5 Task-number: QTBUG-108150 Change-Id: Icef9dbf40fc7ade54b584bcdc8799c4cc95ac76d Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Move tools to libexecKai Köhne2021-05-111-1/+1
| | | | | | | | | | | | | | Move qmlimportscanner, qmltyperegistrar, qmljsrootgen, qmlcachegen to libexec These are internal tools that is not supposed to be run by the user directly. [ChangeLog][Linux] qmlimportscanner, qmltyperegistrar, qmljsrootgen, qmlcachegen tools got moved from QTDIR/bin into QTDIR/libexec directory. Task-number: QTBUG-88791 Change-Id: I2739044e872ec83ef7da7dd857c26395ecfd407d Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Maximilian Goldstein <[email protected]>
* Fix regression where qtquickcompiler cannot find rccKai Köhne2021-05-071-1/+1
| | | | | | | | | | | | RCC got moved to libexec in 6.1 [ChangeLog][qmake] Fixed regression in Qt 6.1.0 which broke 'QT += qtquickcompiler' on Linux, macOS. Pick-to: 6.1 Fixes: QTBUG-93563 Change-Id: I5fb661a529c43b3b58316b73f4c62e069d1c7df4 Reviewed-by: Maximilian Goldstein <[email protected]>
* Revive QTQUICK_COMPILER_SKIPPED_RESOURCESUlf Hermann2020-06-301-0/+12
| | | | | | | | | There are valid reasons not to compile some resources with qmlcachegen. Pick-to: 5.15 Fixes: QTBUG-85243 Change-Id: I9a1233864ed5dda0c264e61db596a9d8c80ea1f3 Reviewed-by: Fabian Kosmale <[email protected]>
* qtquickcompiler: Fix compilation from different drive (Windows)Kai Koehne2020-06-161-2/+1
| | | | | | | | | | | In this case the absolute path on Windows will start with e.g. "C:/", which is not a valid file name. Therefore also convert colon to an underscore. Pick-to: 5.15 Fixes: QTBUG-84901 Change-Id: If79245a5dda5a699f3dceb8e4f08e5a206d566a3 Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-061-0/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/types/qqmlbind.cpp src/quick/items/qquicklistview.cpp tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp Change-Id: Id6805c13256ad13d5651011e5dd09bba0ec02987
| * Run qtEnsurePluginResourcesCpp() from qtquickcompiler.prfUlf Hermann2020-01-301-0/+1
| | | | | | | | | | | | | | | | | | This was missed when factoring out the resources flattening. Fixes: QTBUG-81699 Fixes: QTBUG-81713 Change-Id: I6ee42c0b91aaa57c593b218eb52359205098e5c6 Reviewed-by: Simon Hausmann <[email protected]>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-091-1/+2
|\| | | | | | | | | | | | | | | | | Conflicts: src/particles/qquickitemparticle.cpp src/qmlmodels/qqmladaptormodel.cpp tests/auto/particles/qquickitemparticle/tst_qquickitemparticle.cpp Change-Id: Ibd8fbb91da6893a09f4ffe61ad0b95d8149bbc87
| * Fix usage of qtquickcompiler.prf after lrelease.prfJoerg Bornemann2019-12-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider a project that sets CONFIG += lrelease embed_translations qtquickcompiler qtquickcompiler.prf is loaded first and loads resources.prf. Then lrelease.prf is loaded and extends RESOURCES. The latter changes are never picked up, because resources.prf was already loaded which is recorded in QMAKE_INTERNAL_INCLUDED_FEATURES. Use the newly introduced qtFlattenResources function instead of fully loading resources.prf. Task-number: QTBUG-79672 Change-Id: I1894ede97b4d5de567971a1a8cef407460bba97d Reviewed-by: Kai Koehne <[email protected]>
* | Fix link errors when enabling CONFIG+=qtquickcompiler on non-QML projectsSimon Hausmann2019-09-191-0/+10
| | | | | | | | | | | | | | | | | | | | | | Re-apply commit c5578b16d6454e708c8ce12661a85d41eeaaa758 now that with commit 41864db3b61d9e81a9fe4906918d2cd3d6d32a0c the .qml/.js/etc. files are always retained. The difference is that now this is not an error situation but merely a reason to skip processing. Fixes: QTBUG-73669 Change-Id: I53e1e7d471a66e82694ceca83c548c03aaf88f87 Reviewed-by: Ulf Hermann <[email protected]>
* | Fix regression when using CONFIG+=QtQuickCompiler and .qrc files in subdirsSimon Hausmann2019-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 41864db3b61d9e81a9fe4906918d2cd3d6d32a0c removed the processing of .qrc files that removed .qml/etc. files. Since the chaining of resources remains critical to ensure that the cached compilation units are loaded, the build system copied the input .qrc file to a new one. That mere copying caused the build to break when the copied .qrc file was not in the same directory as the original one, as file paths within the .qrc file are interpreted as relative to the .qrc file, which was now in a different location. To fix this, this patch brings back the "filtering" code that rewrites the paths to the source files in the .qrc file. Fixes: QTBUG-78253 Change-Id: Ie1d56f3248e713a964260bc2da37c9374f7b6a36 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
* | Fix *.js files disappearing from RESOURCES when not using QtQmlSimon Hausmann2019-09-091-32/+3
|/ | | | | | | | | | | | | | | | | [ChangeLog][QtQml][Important Behavior Changes] Using the Qt Quick Compiler would exclude the original .qml files from the resource system. This made it impossible to change the Qt library binary later as the program binary was tied the to the exact Qt version. In addition sometimes unrelated files (QTBUG-73669) were removed. For the latter scenario, retain and skip options were added for the Qt Quick Compiler. In Qt 5.15 the Qt Quick Compiler does not remove the input files anymore. All files are retained and the compiler merely adds the more efficient binary representation to the application. Task-number: QTBUG-73669 Change-Id: I5a523bfc69d4f48a1451bd880616c82fd73b8d15 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-051-10/+0
|\ | | | | | | Change-Id: I042df89ddd381c7fbb944b7ff49d5b45b764fd47
| * Revert "Yield error if qtquickcompiler is used in non-QML projects"Jörg Bornemann2019-08-021-10/+0
| | | | | | | | | | | | | | | | | | This reverts commit c5578b16d6454e708c8ce12661a85d41eeaaa758, because it prevents enabling the qtquickcompiler feature globally. Fixes: QTBUG-77277 Change-Id: Ic80835c462570a67ae3105bb3d1b6452800d2c94 Reviewed-by: Kai Koehne <[email protected]>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-051-0/+10
|\| | | | | | | Change-Id: I47735445e4d31ba47d596d964b3f050e263bd1d9
| * Yield error if qtquickcompiler is used in non-QML projectsJoerg Bornemann2019-07-031-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Consider a non-QML project that puts .js files in a Qt resource file. The qtquickcompiler feature will pull those files out of the resource and generate QML-specific code, which will lead to build errors. Yield an error message on qmake-time. Fixes: QTBUG-73669 Change-Id: I6bec22f758d884ce4e1c50fca48f452c5f86ce74 Reviewed-by: Simon Hausmann <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-011-1/+1
|\| | | | | | | Change-Id: Ic008bf9223a9ac293c925044355ff218f7ed7f78
| * Skip QtQuickCompiler resource extraction when using lupdateSimon Hausmann2019-04-291-1/+1
| | | | | | | | | | | | | | | | | | Otherwise lupdate won't see a .qrc file that contains the .qml/.js files. Change-Id: I8b5fd79299adcde338d68fb6ca39ab03c9300286 Fixes: QTBUG-75501 Reviewed-by: Ulf Hermann <[email protected]>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-131-0/+1
|\| | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4codegen.cpp src/qml/animations/qsequentialanimationgroupjob.cpp Change-Id: I8b76e509fd7c8599d4cef25181d790ee28edab54
| * Skip processing qtquickcompiler.prf when parsed by Qt CreatorChristian Kandeler2019-02-271-0/+1
| | | | | | | | | | | | Task-number: QTCREATORBUG-17521 Change-Id: I9f16c3a030ad49a4fa8d9b5baa2eb79f411fab12 Reviewed-by: Joerg Bornemann <[email protected]>
* | Add option to retain sources when generating QML cacheUlf Hermann2019-01-041-5/+18
|/ | | | | | | | | | | By default any .qrc files are filtered and QML and JS sources dropped when generating the cache. The new QTQUICK_COMPILER_RETAINED_RESOURCES option allows the specification of .qrc files to be kept as they are. The source fils specified in them will be available to the application. Change-Id: If45bcd95c29fe4b91f5817573964ff55b1db8a00 Fixes: QTBUG-72430 Reviewed-by: Simon Hausmann <[email protected]>
* Fix long file name generated for certain qmlcache.qrcJarkko Koivikko2018-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | When compiling qtvirtualkeyboard with MSVC, it may choke on the long file name generated for certain *_qmlcache.qrc files. Specifically, these files are originally generated by qmake, therefore reside in the build directory. For example, this happens when compiling qtvirtualkeyboard out-of-tree using shadow build (e.g. in Qt Creator): qrc____build_qtvirtualkeyboard_Desktop_Qt_5_12_0_MSVC2017_x86_64_Debug_src_virtualkeyboard_.rcc_release_qmake_virtualkeyboard_layouts_qmlcache.cpp c1xx: fatal error C1083: Cannot open source file: '.rcc\release\qrc____build_qtvirtualkeyboard_Desktop_Qt_5_12_0_MSVC2017_x86_64_Debug_src_virtualkeyboard_.rcc_release_qmake_virtualkeyboard_layouts_qmlcache.cpp': No such file or directory This change changes the base directory to $$OUT_PWD for paths which point outside the source directory. Change-Id: I9733af98d916a60ca1ab02cd49ab67024f1db086 Reviewed-by: Jarkko Koivikko <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* Add support for compiling ES modules ahead of timeSimon Hausmann2018-08-171-2/+3
| | | | | | | | | | | | This is also pretty straight-forward by adding .mjs as supported extension in the qmake and cmake support. This also tweaks qv4engine.cpp to share the same module compilation function across all code paths. Change-Id: Ia0e23c78a794f2330ecf8f991ee6ea948f4ac89d Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Lars Knoll <[email protected]>
* Fix support for QTQUICK_COMPILER_SKIPPED_RESOURCESSimon Hausmann2018-06-191-0/+12
| | | | | | | | This used to work with QQC before 5.11 and somehow was lost in translation. Change-Id: Id3d38c609e228d0f7676d3fb177b271eb46f6f73 Reviewed-by: Andy Shaw <[email protected]>
* Fix debug-and-release builds with CONFIG += qtquickcompilerSimon Hausmann2018-03-311-1/+1
| | | | | | | | | Allow for QMLCACHE_DIR to be pre-defined when modified with debug or release suffix via exclusive_builds_post.prf. Task-number: QTBUG-66675 Change-Id: I007fd8359a860e4c7c2b3efdd90a678ddaad72c3 Reviewed-by: Oswald Buddenhagen <[email protected]>
* Fix use of CONFIG+=qtquickcompiler with spaces in pathsSimon Hausmann2018-03-141-6/+6
| | | | | | | | | | | Add strategic calls to system_quote and shell_quote and correct the output list iteration to not use $$list, as that will end up splitting on spaces in the path. Task-number: QTBUG-67011 Change-Id: I31dbee537e2052ac7b802ee3509a74c9db3b8beb Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* Use qmlcachegen path from qtPrepareToolSamuli Piippo2018-02-081-4/+2
| | | | | | | Full path is already resolved by qtPrepareTool. Change-Id: If4232d247f64ffde85ce5ebe7bea8ab77d5bf32e Reviewed-by: Simon Hausmann <[email protected]>
* Remove private API dependency of qmlcachegen generated codeSimon Hausmann2018-01-281-4/+0
| | | | | | | | | Since the compilation unit does not have a backend anymore, we can create it in QtQml itself instead of in generated stub code. That removes the last dependency to private headers in the generated code. Change-Id: I186fc5bd679476b1a4714e4e3ba0ac00b55676cf Reviewed-by: Lars Knoll <[email protected]>
* Add support for compiling QML/JS files ahead of time in resourcesSimon Hausmann2018-01-281-0/+92
This is bringing over the loading infrastructure from the Qt Quick Compiler that allows embedding qml/js files in resources and compiling them ahead of time. At the moment, the approach of generating one cpp file per qml/js file and the loader stub is needed because the build system does not support dynamic resource generation. In addition, as per QTBUG-60961, we must ensure that the generated data structures are aligned. To retain compatibility this is enabled via CONFIG += qtquickcompiler, but we may need to find a new name (but should keep the old one in any case). Task-number: QTBUG-60961 Change-Id: Ia9839bf98d3af4c50636b6e06815364a9fc7ee57 Reviewed-by: Lars Knoll <[email protected]>