Lyの日常

主が楽しくプログラムをカキカキするブログ

CMakeでプロジェクト作成!

どうも、ω、
みなさんCMakeって知ってますか?

僕は今までLinuxvimを使ってコードを書いて
Makefileを作って
ソースコードコンパイルしてました

// こんな感じに
$ make run

めんどくさいコンパイルオプションを打たなくて楽でした
そう、一人で開発をするなら・・・

チームで開発する際には
Xcode, VS, Eclipseといった複数IDEが混合します

ソースコードを追加したり削除したとき
vsで消して、Xcodeで消して、Eclipseで消してと
とてもめんどくさいです

CMakeはそんなめんどくさい作業を引き受けてくれます

CMake導入

// osx
$ brew install cmake +gui

// linux
~$ sudo apt-get install cmake

// winows
おとなしくgui

パッケージマネージャーのお話
osxならhomebrewが定番?です
linuxならディストリによって変わりますが
debian系ならapt-getですね
windowsは最近パッケージマネージャが導入されたとかなんとか
正直guiを使った方が楽かもです

CMake使い方

下準備

実はxcodeのプロジェクト作成が成功してすぐ記事を書いてるので
理解が浅い部分が多々有ります

プロジェクトとなるHogeフォルダを作ります
Hogeフォルダの中には
xcode (空
・CMakeLists.txt
src
 ∟ main.cpp
 ∟ CMakeLists.txt
f:id:akira206:20160131074031p:plain

# Hoge/CMakeLists.txt

" cmakeのバーション指定
cmake_minimum_required(VERSION 3.4)

" プロジェクト名の指定
project (hello_project)

" サブディレクトリの追加
add_subdirectory( src )


# Hoge/src/CMakeLists.txt

" コンパイルオプションの指定
set( CMAKE_C_FLAGS "-Wall -g" )

" GLOB SRCSがわからないけど
" フォルダにある.cpp .hppのつくファイルを指定してることはわかる
file( GLOB SRCS *.cpp *.hpp )

" プロジェクト内でのsrcフォルダの名前
add_executable ( hello ${SRCS} )

実際に使ってみる

# ターミナルから

" xcodeフォルダに移動
~$ cd Hoge/xcode
" cmake実行
~$ cmake .. -G "Xcode"


# guiから
ソースはHoge
ビルドはHoge/xcodeを指定する
f:id:akira206:20160131075700p:plain

Configureをクリックしてプラットフォームを指定
f:id:akira206:20160131075844p:plain

ビルドが終わったらこんな感じになるので
Generateをクリックして完了
f:id:akira206:20160131080017p:plain

プロジェクトの起動・ビルド

cmakeが終わるとプロジェクトが生成されます
f:id:akira206:20160131080135p:plain

ソースコードがあるのが
helloになるのでhelloを指定すればビルドが通ります
f:id:akira206:20160131080507p:plain