私は、依存関係のロードと負荷があるC++プロジェクトを持っています。このプロジェクトはLinuxとWindows上で動作するはずなので、私たちはそれをCMakeに移植しました。現在、ほとんどの依存関係はソースツリーに含まれており、プロジェクトと一緒にビルドされているので、問題はありません。プラットフォーム間のバイナリ依存関係の扱い
しかし、私たちはFortranコードなどに依存する1つのバイナリを持っており、ビルドするのは本当に複雑です。 Linuxの場合、パッケージとしては利用できませんが、プリコンパイルされたバイナリまたはフルソース(BLASライブラリがインストールされている必要があります。ウィンドウの場合、同じライブラリがバイナリとして利用可能で、Windows用のビルディングはもっと複雑に見えます。
質問はどうやってそのような依存関係を処理するのですか?サポートされているプラットフォーム用のバイナリをチェックインし、そうでない場合(つまり、バイナリの場所を手動でポイントする)ビルド環境を設定するように要求するか、実際にコンパイルするようにしますか? 10ライブラリ - BLASライブラリはここで最大の痛みです)、またはそれを処理する他の推奨される方法がいくつかありますか?
エンドユーザーはバイナリを変更しないでください。唯一の問題は、エンドユーザーに異なるコンパイルスイッチがある場合、バイナリが互換性がなくなる可能性があることです。そのため、最初はバイナリをチェックインすることをお勧めします。 – Anteru
私はまったく同じ質問をしています。私は異なるプラットフォームを試して構成を構築したいので、バイナリは非常に簡単に互換性がなくなる可能性があります。これについて詳しく教えてください、ラルフセチンジャー? – danijar