同じ言語の複数のコンパイラで CMake を使用する: 代替手段の探索
単一の CMakeLists.txt 内で同じ言語の複数のコンパイラを実装すると、 1 つのコンパイラのみをサポートするという CMake の固有の制限により、これは困難であることがわかっています。これは、ホストとクロスの両方のコンパイルを必要とするプロジェクトにとって大きなハードルとなります。
残念ながら、CMake の柔軟性により、デフォルトの動作をオーバーライドしたり、特定のターゲットに異なるコンパイラを設定したりすることは不可能です。唯一の実行可能な解決策は、CMake を複数回実行することですが、これは面倒で非効率的になる可能性があります。
回避策の 1 つは、カスタム コマンドを使用して、効果的に装飾されたシェル スクリプトを作成することです。ただし、このアプローチには、望ましいレベルの制御と優雅さが欠けています。
理想的な回避策には、異なるコンパイル プロセスを個別の CMakeLists.txt ファイルに分離することが含まれます。このアプローチでは、アーキテクチャ間のリンクの必要性がなくなり、 include() を通じて共通のスクリプト要素を組み込むことで冗長性が削減されます。
このソリューションは、単一のビルド コマンドの利便性を犠牲にしながらも、クリーンで効果的な作業方法を提供します。同じ言語に対する複数のコンパイラ。この不便さを軽減するために、ラッパー スクリプトで必要な CMake-makefile を呼び出してビルド プロセスを自動化できます。
以上が## 同じ言語の複数のコンパイラで CMake を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。