qt_add_shaders: support reusing a source across invocations


Using the same shader source in multiple qt_add_shaders() calls used to
generate identical intermediate .qsb output paths, causing custom
command output clashes.

Generate intermediate outputs under .qsb/<resourcename>/... so each
qt_add_shaders() invocation writes to a distinct location.

Also detect resource alias collisions (same PREFIX + alias on the same
target) and warn, because loading both resources at runtime can shadow
one shader with another.

Add a buildtimeqsb test that compiles the same source in two different
qt_add_shaders() calls with different PREFIX values and verifies both
resources are loadable.

Change-Id: I3f3abc776c01163f869d946cf4125726d7f3e2c9
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
commitba34023af008625c48f166bb7420a02dfa406e7b
parentf7179b4a120d90e3ba4b1a7be9600f3ab1a8cb77
authorAurélien Brooke <aurelien@bahiasoft.fr>
committerAurélien Brooke <aurelien@bahiasoft.fr>
commit timeFri, 4 Sep 2026 10:55:12 +0000