diff options
| author | Craig Scott <craig.scott@qt.io> | 2021-09-02 20:34:33 +1000 |
|---|---|---|
| committer | Craig Scott <craig.scott@qt.io> | 2021-09-03 19:37:06 +1000 |
| commit | 920a5f727b02cade81fac0a5536e52bbb4c72d73 (patch) | |
| tree | 28df97998c6c7bdc3d85939ca02ec099b22c7bb3 /examples/quick/window/main.cpp | |
| parent | c1c6e15874c1468152140edc1c3cdc72ffa49e8c (diff) | |
Fix top level builds where AUTOMOC_EXECUTABLE was unset on some targets
The qt_example_build_end() command tries to recursively find all build
system targets by descending into all source directories. Some sets of
examples re-use the same source directory multiple times with different
build directories, but this hides all but one of those re-used source
directories from the recursive search. This resulted in some targets
being missed, which in turn prevented qt_autogen_tools() from being
called on them. In top level builds, this meant AUTOMOC_EXECUTABLE
wasn't set, so CMake tried to verify the moc it wanted to use, which
doesn't exist for the first configure of a top level build, resulting
in a fatal error. Since we can't find all targets reliably with a
recursive search, manually handle the ones that could be missed.
There was a similar problem with qt_autogen_tools() not being called
for a target created to compile a doc snippet. The error message is
the same as the case above, the cause is again AUTOMOC_EXECUTABLE
not being set, but for a different reason. Apply the same fix and
call it manually, which should have been the case originally.
Fixes: QTBUG-96118
Fixes: QTBUG-96159
Pick-to: 6.2
Change-Id: I079c696cf74f77d7caa2c59e6263d3fb1c55d20e
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'examples/quick/window/main.cpp')
0 files changed, 0 insertions, 0 deletions
