Linux/Windows 用の C++ ライブラリ、Windows 用の C++ ライブラリ ソースに基づく C++/CLI ライブラリ、Windows 用の C++/CLI ライブラリに基づく C# プロジェクト、Linux/Windows 用の C++ ライブラリに基づく C++ プロジェクトを含む複合プロジェクトがあります。この種のプロジェクトを構築するにはどうすればよいですか? どのビルドシステムを選択する必要がありますか?
現在、Linux では makefile を生成する CMake を、Windows では MSVS ソリューションを生成する CMake を使用していますが、C# プロジェクトをビルドするために CMakeLists.txt を記述するのは非常に困難です。
マネージド (cmake によって構成された) コード プロジェクトとネイティブ (cmake によって生成された) コード プロジェクトの 2 つの MSVS ソリューションを用意する前に。管理されたプロジェクトは MSVS で作成されました。ネイティブ プロジェクトは CMakeLists.txt に記述されています。CMake は、外部ライブラリ、出力ディレクトリなどへのパスを保持していた Windows 環境変数を使用してマネージド プロジェクトを構成していました。確かにそれは悪い決定です。