私は数百のVisual Studioソリューション(主にC++)に基づいた製品スイートを持つ組織で働いています。これらのソリューションの中には、他のソリューションで使用されるライブラリを生成するものや、複数のモジュールで共有されるヘッダーを含む共通の「インクルード」フォルダもあります。Visual Studioソリューションの依存関係
問題は、依存関係を明示的にどこにも記載しておりませんし、ビルドシステムが依存するモジュールが適切な時期に建てられ得る確実にするリニアビルド順序を指定することで、依存関係を解決することです。これはビルドシステムではうまくいきますが、多くの直接的および間接的な外部依存関係を持つコンポーネントを処理しようとすると、開発者は不利になります。たとえば、ライブラリープロジェクトや共有ヘッダーのいずれかを編集し、影響を受けるモジュールを事前に知っていなくても、そのモジュールをすべてビルドすることができます。もう1つのユースケースには、TFSから新しくプルを行い、システム全体を構築することなく最初に構築されたモジュールを持つモジュールを構築することが含まれます。
/大規模なプロジェクトを構築するための依存関係の生成を自動化することができる利用可能な任意のツール(複数可)しているがある場合、私は疑問に思って。私は、他のソリューションをカプセル化するいくつかの本当に大きなソリューションを作成することを検討しましたが、それは本当に扱いにくいと思われます。また、私は、開発者にエラーが発生しやすいように、特に大きなコードベースで、依存関係を手動で指定するという考えが嫌いです。私は数年前にsconsで作業し、ソースファイルを解析してすべての依存関係の依存関係を自動的に発見する方法を本当に気に入っていました。今日、Visual Studioソリューションで同じことをすることができるものはありますか?
これは私が解決しようとしている問題の大きさを強調するために必要Visual Studio: how to handle project dependencies right?
の複製ではありません。これは、非常に大きな既存のコードベースです。メインディレクトリには数百のサブフォルダがあり、それぞれにはVSソリューション(プロジェクトではない)が1つずつ含まれています。各ソリューションには、1つ以上のプロジェクトが含まれています。私が前に言ったように、私は解決策の中でいくつかのプロジェクト間の依存関係を確立しようとしていません。問題はそれよりはるかに大きい。私は、ソリューション自体(数百件)の間に依存関係を確立する方法を見つけようとしています。例えば、1つの解決策は、セキュリティのためのライブラリ、通信のためのライブラリなどを生成するいくつかのプロジェクトを含むことができる。例えば、通信ライブラリを使用する数十のソリューションが存在し得る。だから、本質的には、数百のノードと、おそらく何万というエッジを持つ、有向グラフを作成しようとしています。
[Visual Studio:プロジェクトの依存関係を処理するにはどうすればいいですか?](http://stackoverflow.com/questions/14081002/visual-studio-how-to-handle-project-dependencies-right) – Swift
CMakeを使用する... :) – Drop
CMakeは多数の既存のVSソリューションをスキャンして依存関係を生成できますか? –