qbs 1.5 から 1.8 に切り替える際に問題が発生しました。「src/qbs/imports/BaseProduct.qbs」に「BaseProduct」があり、「src/derived/DerivedProduct.qbs」にそれから派生した製品があります
BaseProduct には次のようなものがあります。
グループ { id:h 名前: 'h'; プロパティ { プレフィックス: '**/'; ファイル: ['*.h'] } } グループ { id: cpp 名前: 'cpp'; プロパティ { プレフィックス: '**/'; ファイル: ['*.cpp'] } }
Derived.qbs ディレクトリからプロジェクトにすべてのソースを自動的に追加します。1.5 では動作しましたが、1.8 では動作しませんでした。プレフィックス「sourceDirectory + "/"」に追加すると、ほとんど機能します。ファイルはサブプロジェクトに追加されますが、「/absolute/path/to/src/subproject」のような絶対パスの下にさらにグループ化されます。
だから私が得たプロジェクト構造:
1.5 with "prefix: '**/'" [実現したいこと]
派生製品 - [cpp] - [サブディレクトリ] - file_from_subdir.cpp - file_from_root_dir.cpp
1.8 with "prefix: '**/'" [ソースが追加されていないため、プロジェクトをビルドできません]
- [cpp]
1.8 with "prefix: 'sourceDirectory + '/**/'" [プロジェクトをビルドできますが、グループ内の醜い絶対パスが発生します]
派生製品 - [cpp] - [/絶対/パス/to/src/サブプロジェクト] - [サブディレクトリ] - file_from_subdir.cpp - file_from_src_root_dir.cpp
では、グループ項目を各サブプロジェクトにコピー/貼り付けせず、もちろん絶対パス サブグループなしで、1.8 で 1.5 の「自動グループ ソース」機能を実現するにはどうすればよいでしょうか?