cmake-guiを使わずにコマンドライン,バッチorシェルから操作する.まず明確にする必要があるのは
- Source directory
- Build directory
- Generate project type:
これはcmakeコマンドをタイプし生成できるプロジェクトタイプの一覧を確認する - Tool chain
ツールチェンの設定ファイルを使用する場合はそのパスを確認する - CMake command line option
cmake-guiで今まで手動で変更した設定をコマンドラインに落としておく必要がある.例:
BUILD_OPTION_1 = ON
BUILD_OPTION_2 = OFF ...
#!/bin/sh SRC_DIR=... BUILD_DIR=... TOOL_CHAIN=... GENERATOR_TYPE="Unix Makefiles" cmake -D CMAKE_TOOL_CHAIN=$TOOL_CHAIN \ -G $GENERATOR_TYPE \ --build $BUILD_DIR \ -D BUILD_OPTION_1=ON \ -D BUILD_OPTION_2=OFF \ $SRC_DIR
ただし,上のコマンドをうまくいかないことがある(理由はまだ不明).スクリプトで -D オプションで定義したものがCMakeLists.txtファイル内で定義したものをオーバライドできない.
これを回避するために,自分専用日のPreloadのCmakefileを準備し,-C オプションでキャッシュの初期化を行ってからプロジェクトのCMakeListsを読みこませればよい.
Preloadスクリプトは通常のCMakeListsの書き方と全く同じ.ほとんどSET (FOO BAR ...)で書けばいい.
#!/bin/sh cmake_minimum_required(VERSION 2.6) set(MY_CMAKE_OPTION 1) if(MY_CMAKE_OPTION EQUAL 1) set( OPT1 VALUE1 CACHE BOOL "desc") set( OPT1 VALUE1 CACHE BOOL "desc") else() ... endif()
make VERBOSE=1 でmakeのコンパイル詳細Optionを表示
参考:
1. Cmake tutorial 1
2. Cmake tutorial 2
3. Cmake でオプションの設定方法
No comments:
Post a Comment