You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6dc3490
Browse filesBrowse the repository at this point in the historyBrowse files
@@ -69,7 +69,7 @@ A package that enables `rules-qt` only to import `mcpp.rules.qt`, and has no `bu
69
69
|`private_modules`| modules whose private headers are included |
70
70
|`moc`, `moc_headers`|`moc_scan::project_headers` (default) scans the package's headers by content; `moc_scan::listed` takes `moc_headers` only |
71
71
|`forms`, `resources`|`.ui` and `.qrc` files beside those in `[build] sources`|
72
-
|`i18n`|`.ts` files beside those in `[build] sources`; `update_sources` runs `lupdate` as an action whose output is the `.ts` it rewrites; `tr_function_alias`; `deploy_to` (default `translations`); `out_dir` (default `<out dir>/qt/translations`); `qt_languages`: the linked modules' catalogs combined by `lconvert` into `qt_<language>.qm`, the file windeployqt writes |
72
+
|`i18n`|`.ts` files beside those in `[build] sources`; `update_sources` runs `lupdate` as an action whose output is the `.ts` it rewrites, reading `sources`, or when that is empty the package's C++ sources and headers, found by the walk that finds moc's headers; `tr_function_alias`; `deploy_to` (default `translations`); `out_dir` (default `<out dir>/qt/translations`); `qt_languages`: the linked modules' catalogs combined by `lconvert` into `qt_<language>.qm`, the file windeployqt writes |
73
73
|`deploy_plugins`| plugin directories placed beside the program; default `platforms`|
74
74
|`deploy_software_gl`| Windows: `opengl32sw.dll` and `d3dcompiler_47.dll` beside the program |
75
75
|`root`, `extra_roots`| level 1 of the SDK lookup |
@@ -79,6 +79,7 @@ A package that enables `rules-qt` only to import `mcpp.rules.qt`, and has no `bu
79
79
## Behaviour
80
80
81
81
-`moc` runs for every header under the package root that declares `Q_OBJECT`, `Q_GADGET` or `Q_NAMESPACE`, and for a source that includes its own `<stem>.moc`; `uic` for `.ui`, `rcc` for `.qrc`, `lrelease` for `.ts`. Each is a `role = "source"` action with declared inputs; the outputs are under `<out dir>/qt/`.
82
+
- The walk of the package root that finds those headers, and `lupdate`'s sources, leaves out `target`, `.git`, `mcpp-generated`, `vcpkg_installed`, `node_modules`, and from 0.18.1 the output directory of another build system, known by what it leaves there: `CMakeCache.txt` (a CMake build directory), `.qmake.stash` (qmake), a `CACHEDIR.TAG` with the standard signature, or a `<name>.tlog` directory (an MSBuild intermediate directory such as `x64/Release`, where a Visual Studio project writes its moc and uic output). Such a directory is known by what it holds, never by its name, so an `x64/` of sources is read.
82
83
- The SDK's `bin/` (Windows) or `lib/` is a runtime search directory: the program's run path, `mcpp run`'s load path, `mcpp pack`'s closure, and on Windows the Qt DLLs placed beside the program. The plugin directories `deploy_plugins` names are deployed beside the program.
83
84
- Under an MSVC compiler the rule adds `/Zc:__cplusplus` and `/permissive-`; on Linux, `-fPIC`. On macOS the modules are frameworks under `lib/`, compiled with `-F<root>/lib` and linked by their binaries' full paths. A resource compiled into a static library is registered with `Q_INIT_RESOURCE(<stem>)`.
84
85
- A missing SDK, module or tool is a warning: the plan states what it can, and the build is where the absence fails.
0 commit comments