0.14.0: deps-archive, a prefix's files deployed, Qt's own translations, and rules-qt-xim-base - #31
Merged
Merged
Conversation
…s-vcpkg and deps-cmake deploy named files of their prefix
…th the QtQml library lupdate loads; the console Qt fixture uses it
…ages): lconvert combines the linked modules' catalogs into qt_<language>.qm, as windeployqt does
…eps it out of the program's .ts
…s it: the root of the tree for a PE program, bin/ otherwise
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
0.14.0 removes the manual steps a project still needed after building with 0.13 (Sunrisepeak/GalTranslPP#2: unzip an embedded Python, run
Release.py) and cuts the Qt download to a third. Engine floor unchanged: mcpp 2026.9.26.2. No engine change is needed.Files a program reads at run time, placed by the build. A deployed file must be one the build graph knows how to produce. So each file is first produced by an action that names it as an output (SPEC-007 R3.2), and the output is deployed:
mcpp runfinds it beside the program andmcpp packcarries it. The following was measured:a library package's deployed outputs reach the
bin/and the packed tree of every program that links it;a dependency's
artifactactions run with the consumer's build.deps-archive(mcpp.deps.archive, new):unpack({archive, to})reads a zip's central directory while the build program runs, so every member is named before anything is extracted.artifactaction,mcpp-deps unpack(cmake -E tar xf --touch), extracts it and names each file as an output; each file is then deployed underto.cmakeis a warning (R1.2).result::fileslists the copies for a project's own layout.deps-vcpkg/deps-cmakeoptions::deploy: files of the installed prefix ({"share/opencc/t2s.json", "BaseConfig/opencc"}), copied by a${mcpp.self} stageaction whose input is the installation's stamp, then deployed.prefix::deployedlists the copies.rules-qttranslations::qt_languages:lconvertcombines the catalogs of the linked modules intoqt_<language>.qmunderdeploy_to. This is the file windeployqt writes, and it has no dependency left to resolve.rules-qt-xim-basedeclaresxim:qt-base(openxlings/xim-pkgindex#881, merged): qtbase, qttools, qttranslations and the QtQml library lupdate loads. The download is 56–73 MB against 187–245 MB forxim:qt.roots()usesxim:qtwhen a project declares both.Criteria (
.github/scripts/check-deps-and-qt.sh):tests/archive-consumer(new)#errors is deployed as data, not compiled; a second build does not extract again; a changed archive does; the packed tree carries the files and the packed program reads themtests/vcpkg-consumershare/fmt/copyrightdeployed beside the program, and in the packed tree on Windowstests/qt-consumerrules-qt-xim-base; loads the combinedqt_de.qmand prints Qt's ownQProgressDialog"Cancel" as "Abbrechen"All three were run locally against the released 2026.9.26.2, with
xim:qt-baseinstalled from the index.Also:
deps-cmakelists thecmakeexecutable among its action's inputs (R3.1).