title: CMake 入門 author: Takui Higashionna profile: lang: Japanese code-engine: coderay #Cmakeとはなにか - ビルドプロセスを管理するツール - ビルドプロセスとは - ソースコードをコンパイルする - ソースコードとコンパイラを探す - コンパイルされた.oファイルをリンクしてライブラリや実行形式にする - テストコードを使ってテストを行う - 生成されたライブラリやコマンドをインストールする - パッケージを作成して配布可能な形にする # 従来の方法 - makeを使う。makefileを直接書きくだす - automakeとautoconfを使う - Javaならばmavenあるいはgradleを用いる # 従来の方法の欠点 - Makefileは本質的にシステム依存(コンパイラの場所、ライブラリの場所) - automakeは煩雑で難易度が高い - mavenはjavaにしか対応していない # CMakeを使う利点 - 設定ファイル(CMakeLists.txt)がシンプル - CMakeがコンパイラやライブラリを自動的に検索する - テストやパッケージング用のプラグインが豊富にある - Makefileを生成し、実際のビルドはmakeコマンドで行う - out-of-placeビルド対応(ソースツリーの外でビルドを行う) - Ninjaによる並列コンパイルが可能 # 実際にCMakeを使ってみよう - Hello World用のCMakeLists.txtを作る - Makefileを生成しビルドしてみる - out-of-placeビルドを試してみる - テストを行う - ソースコード生成を試してみる - CUDAを使ってみる - Ninja # Hello World用のCMakeLists.txtを作る # Makefileを生成しビルドしてみる # auto-of-placeビルドを試してみる # テストを行う # ソースコード生成を試してみる # CUDAを使ってみる # Ninja # まとめ