Cmakeラーニング(ソースコード付)

1939 ワード

最近およびその後長い間c++開発プロジェクト(白)を使用していたので、cmake:c/c++クロスプラットフォーム構築ツールを学び、javaのmavenと同じツールに属しています.私の学习の内容を更にこれを记录して、みんなにいくつか助けをあげることを望みます.
Prerequisites:linuxでc++を開発するには、cmakeを学ぶ前に、gcc、Makefileを先に勉強し、順番によくしなければなりません.(プロジェクトの規模が小さいのでMakefileを使えばいいです.プラットフォーム間開発を実現するにはcmakeを使うのがいいです)
Github:cmakestudy
  • Demo 1-Demo 7 CMake入門で紹介
  • Demo 1:単一ソースファイルプロジェクト
  • Demo 2:同じディレクトリ、複数のソースファイル
  • Demo 3:複数のディレクトリ、複数のソースファイル
  • Demo 4:カスタムコンパイルオプション
  • Demo 5:
  • のインストールとテスト
  • Demo 6:環境検出を追加
  • Demo 7:バージョン番号
  • を追加
  • Demo 8:インストールパッケージ
  • を生成
  • t 2-t 6 CMake Practiceで紹介
  • t 2:マルチディレクトリコンパイル、インストール
  • t 3:動的ライブラリと静的ライブラリをインストール
  • t 4:外部共有ライブラリとヘッダファイルの使用方法
  • t 5:FINDを使用PACKAGEサードパーティモジュール
  • を検索する.
  • t 6:自分でモジュールを実現し、FIND_を通過するPACKAGEコール

  • CMakeとは
  • GNU Make、QTのqmake、マイクロソフトのMS nmake、BSD Make、Makeppなど、いくつかのMakeツールを聞いたことがあるかもしれません.これらのMakeツールは異なる仕様と基準に従い、実行されるMakefileフォーマットも千差万別です.これにより、ソフトウェアがプラットフォームを越えたい場合は、異なるプラットフォームでコンパイルできることを保証する必要があります.上のMakeツールを使うと、それぞれの基準にMakefileを書かなければなりません.これは狂った仕事です.
  • CMakeは、まず開発者がプラットフォームに関係のないCMakeList.txtファイルを作成してコンパイルプロセス全体をカスタマイズし、ターゲットユーザーのプラットフォームに基づいてUnixのMakefileやWindowsのVisual Studioプロジェクトなどの必要なローカライズMakefileとエンジニアリングファイルをさらに生成することを可能にするツールです.「Write once,run everywhere」を実現します.明らかに、CMakeは上記のいくつかのmakeよりも高度なコンパイル構成ツールです.プロジェクトアーキテクチャシステムとしてCMakeを使用する有名なオープンソースプロジェクトの中には、VTK、ITK、KDE、OpenCV、OSGなどがある[1].

  • CMakeを使用してlinuxプラットフォームでMakefileを生成してコンパイルする手順は、次のとおりです.
  • CMakeプロファイルCMakeLists.txtを作成します.
  • は、命令cmake PATHまたはccmake PATHを実行してMakefile 1 1 1 ccmakeおよびcmakeを生成する.ここで、PATHは、CMakeLists.txtが存在するディレクトリである.
  • は、makeコマンドを使用してコンパイルされる.

  • おすすめ読書
  • CMake入門:公式入門の翻訳版
  • CMake Practice:いい
  • CMake公式サイト入門紹介
  • Cmake公式文書
  • gcc、makefileの内容がまだ整理されていない