ODE:cmakeでコンパイル
cmakeはMakefileより便利です。
Makefileをごりごり作るよりもcamkeをインストールして、ちょっと使い方を覚えた方が手間が省けます。
ということで、ODEでのcmakeの導入についてメモします。
Makefileをごりごり作るよりもcamkeをインストールして、ちょっと使い方を覚えた方が手間が省けます。
ということで、ODEでのcmakeの導入についてメモします。
Linux(Ubuntu10.10)でcmake
インストール
次のコマンドを実行。
% sudo apt-get install cmake
最近のLinuxのディストリビューションならばapt-getとかyumとかでインストールできると思われます。
CMakeList.txtの準備
odeは、makeまで実行した状態でOK。(make installはしなくてよい)
set(PROJ_NAME hello)
set(TARGET ${PROJ_NAME})
# プロジェクト名
project(${PROJ_NAME})
set(ODE_PATH ../ode-0.11.1)
set(ODE_INC_PATH ${ODE_PATH}/include)
set(ODE_LIB_PATH ${ODE_PATH}/ode/src/.libs)
set(DS_INC_PATH ${ODE_PATH}/include)
set(DS_LIB_PATH ${ODE_PATH}/drawstuff/src/.libs)
# インクルードパスの追加
include_directories(${ODE_INC_PATH} ${DS_INC_PATH})
# ライブラリパスの追加
link_directories(${ODE_LIB_PATH} ${DS_LIB_PATH})
# マクロ設定 [-D]
add_definitions(-DdDOUBLE)
# 実行ファイルとソースファイル群
add_executable(${TARGET} ${PROJ_NAME}.cpp)
# ライブラリ
target_link_libraries(${TARGET} m ode drawstuff GLU GL)
サンプル実行
とりあえず適当にファイルを準備。
- hello.cpp
#include <ode/ode.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Cmake de Hello ODE!!!\n");
return 0;
}
hello.cppとCMakeList.txtが同じディレクトリにある状態で次のコマンドを実行。
% cmake .
すると、Makefileが生成される。
あとは、コンパイル、そして実行。
あとは、コンパイル、そして実行。
% make % ./hello
Cmake de Hello ODE!!!
無事に実行できれば、OKです。
その他のCMakeオプション
メモ。
# 要求するCMakeのバージョン
cmake_minimum_required(VERSION 2.6)
# build type
set(CMAKE_BUILD_TYPE Debug)
# compile option (DEBUG)
set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall")
set(CMAKE_C_FLAGS_DEBUG "-g -Wall")
# compile option (Release)
set(CMAKE_CXX_FLAGS_RELEASE "-Wall -O3")
set(CMAKE_C_FLAGS_RELEASE "-Wall -O3")
以上