5

私はLinux上でC++プロジェクトを作って、多くのディレクトリのソースファイルをグループ化して自分自身を整理しました。ソリューションエクスプローラでソースフォルダの階層を保持する方法は?

私はCMakeを使って各サブディレクトリのCMakeFiles.txtを1つコンパイルしていました。

srcs 
|--folderA 
| |--Toto.cpp 
| |--Tata.cpp 
| 
|--folderB 
| |--Foo.cpp 
| |--Bar.cpp 
[...] 

最近、私はすべてのソースファイルを発見したのVisual Studio 2015、でそれを開いたが、ちょうどソリューションエクスプローラの「ソースファイル」フォルダにリスト全体を置きます。

Source Files 
|--Toto.cpp 
|--Tata.cpp 
|--Foo.cpp 
|--Bar.cpp 

膨大な数のファイルを作成する予定で、すぐに見つけることは困難です。

ソリューションエクスプローラのフォルダ階層を尊重する方法はありますか?

+0

CMakeのバージョンは? –

+0

@JamesAdkison私は最後の3.3.1を使用しています。 – Aracthor

+1

私は[assign_source_group]サンプル実装を追加しました。[cmakeを使ってネストされたサブディレクトリのVisual Studioフィルタを設定する方法](http://stackoverflow.com/questions/31422680/how-to-set -visual-studio-filters-for-nested-sub-directory-using-cmake/31423421#31423421)。 – Florian

答えて

3

source_groupコマンドを使用してください。

source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])

は、ソースがプロジェクトファイル内に配置されるにグループを定義します。これは、Visual Studioでファイルタブを設定するためのものです。オプションは次のとおりです。

ファイル 明示的に指定されたソースファイルはすべてグループに配置されます。相対パスは、現在のソースディレクトリに対して解釈されます。

REGULAR_EXPRESSION 名前が正規表現と一致するソースファイルはすべてグループに配置されます。