makefile と CMakeLists の主な違いを検索しましたが、CMake は依存関係の解決を自動化するのに対し、Make は手動であるなどの小さな違いが見つかりました。
私は大きな違いを探しています.CMakeに移行することの長所と短所は何ですか?
CMake とAutotoolsを比較できます。それはもっと理にかなっています!これを行うと、Autotools を作成する理由となった make の欠点と、make に対する CMake の明らかな利点を見つけることができます。
Autoconf は重要な問題 (システム固有のビルドおよびランタイム情報の信頼性の高い検出) を解決しますが、これは移植可能なソフトウェアの開発におけるパズルの 1 ピースにすぎません。この目的のために、GNU プロジェクトは、Autoconf が開始した作業を完了するための一連の統合ユーティリティを開発しました。最も重要なコンポーネントが Autoconf、Automake、および Libtool である GNU ビルド システムです。
Makeはそれを行うことができません。とにかくすぐに使えるわけではありません。それを実行させることはできますが、プラットフォーム間で維持するには多くの時間がかかります。
CMake は同じ問題 (およびそれ以上) を解決しますが、GNU Build System よりもいくつかの利点があります。
CMake と make を比較すると、CMake を使用する利点がさらにいくつかあります。
全体として、make と比較すると明らかに CMake が選択されますが、いくつかの点に注意する必要があります。