view osc.md @ 3:d804033661ef

fix
author one
date Thu, 15 Jun 2017 18:07:39 +0900
parents 7db1db7982b7
children 24f0fa90ddc9
line wrap: on
line source

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


# まとめ