Qt6ShaderToolsMacros: handle '@' in shader file paths
When a shader file path contains '@' characters (e.g.
"subdir/at@sign/color.frag"), the '@' was treated unconditionally as
the separator between the filename and replacement specifications,
causing incorrect parsing.
Fix by accumulating segments split on '@' until a valid shader extension
is found, rather than assuming the first segment is always the filename.
The remaining portion of the original string after the matched file path
is then parsed for replacement specifications.
Adds buildtime tests for paths containing '@', both with and without
replacement specifications.
Task-number: QTBUG-146851
Change-Id: I73f5aae0b5f71ee938494af2dffab42f03a5d223
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>