string
コマンドのCMakeドキュメントには次のように書かれています:
REGEX MATCH は、正規表現と 1 回一致し、その一致を出力変数に格納します。
ただし、次のようにパターンを検索すると:
STRING(REGEX MATCH "#import <(.+)>" input_directive "${shader_code}")
「${shader_code}」は次のとおりです。
#import <../ColorCorrection.glsl>
#import <../YCbCrtoRGB.glsl>
uniform sampler2DRect srcFrame;
uniform vec2 sourceDimensions;
次のような結果が得られます。
#import <../ColorCorrection.glsl>
#import <../YCbCrtoRGB.glsl>
これはあってはならないことです。結果の最初の行だけを取得する必要があります。このパターンを数回検索し、まとめてグロム処理しているようです。
これは予想される動作ですか?それを回避する方法はありますか?基本的に、コードからのすべての #import ステートメントの最初のみが必要です。