この質問は少し古いですが、最近 GStreamer をプロジェクトに統合しているときに同じ問題に遭遇しました。GStreamer には、非常によく準備された高品質のプロパティ シートのセットが付属しており、CMake をいじる代わりにそれらを使用したいと考えました。
幸いなことに、この問題は Windows と Visual Studio のみに限定されています。だからここに私の解決策があります:
アイデアは、Visual Studio の .user ファイル機能を使用することです。CMake はこのファイルを生成しないため、構成時に生成しても安全です。構成時に、プロジェクト ファイルと同じ名前で末尾が .user 拡張子のファイルを生成する場合があります。
部分的な解決策:
プロジェクト ファイルの名前がmy_project.vcxprojの場合、その隣に という名前の別のファイルを作成する必要がありますmy_project.vcxproj.user。MSDNによると:
ユーザー ファイル (.vcxproj.user) には、デバッグや展開の設定など、ユーザー固有のプロパティが格納されます。vcxproj.user ファイルは、特定のユーザーのすべてのプロジェクトに適用されます。
プロパティ シートをインポートするためのこのファイルの内容は、次のようなものです。
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="/path/to/sheet1.props" />
<Import Project="/path/to/sheet2.props" />
</Project>
完全ではありませんが、CMake がプロパティ シートのサポートを開始するまでは機能します。このファイルはfile、構成時に CMake のコマンドを使用して作成できます。
潜在的な警告:
この方法でプロパティ シートを追加すると、[プロパティ マネージャー] ウィンドウに表示されないことがありますが (Visual Studio Community 2013 のバグである可能性があります)、常に適切にインポートされ、依存関係が正しく解決されます。