最近、C++ プロジェクトの単体テスト ( GoogleTestを使用) の作成を開始しました。メイン プロジェクトのビルドは非常に簡単です。GCC-MM
と-MD
フラグを使用してオブジェクト ファイルの依存関係を自動的に生成し、すべてのオブジェクト ファイルをリンクして出力実行可能ファイルを作成します。驚きはありません。
しかし、単体テストを書いているときに、各テストをコンパイルするために必要なオブジェクト ファイルを make または GCC に判断させる方法はありますか? 現在、私はかなり素朴な解決策 (それと呼べるなら) を持っています。これは、すべての単体テストのために利用可能なすべてのオブジェクト ファイルをまとめてコンパイルするもので、明らかに (時間とスペースの両方の点で) 無駄です。元のソース ファイルの依存関係を生成する方法と同様の方法で、特定の単体テストに必要なオブジェクト ファイルを特定する方法 (make、gcc、sed、またはその他のものを使用) はありますか?