操作
整備 #4571
未完了Windows用OpenRTMConfig.cmakeへrtmCamera, rtmManipulator用変数を追加する
開始日:
2018/07/23
期日:
進捗率:
100%
予定工数:
説明
- 下記変数を新たに定義する
RTM_CAMERA_INCLUDE_DIR: rtmCamera include dir RTM_CAMERA_LIB_DIR: rtmCamera's lib directory RTM_CAMERA_LIBRARIES: rtmCamera libraries RTM_MANIPULATOR_INCLUDE_DIR: rtmManipulator include dir RTM_MANIPULATOR_LIB_DIR: rtmManipulator's lib directory RTM_MANIPULATOR_LIBRARIES: rtmManipulator libraries
- また、サフィックス(バージョン番号、VCバージョン等)も変数で定義されるようにテンプレートを修正する
- OpenRTM-aist 1.2.0版で、VCバージョンがVC2013の場合、omniORB4.2.2の場合、生成されるOpenRTMConfig.cmakeには下記が追加されるようにする
set(RTM_DLLVER 120_vc12) set(COIL_DLLVER 120_vc12) set(OMNI_DLLVER 422) set(OMNITHREAD_DLLVER 40)
n.kawauchi さんが6年以上前に更新
- ステータス を 新規 から 解決 に変更
- 進捗率 を 0 から 100 に変更
- r3396にてOpenRTMConfig.cmakeを生成するcmakeconfgen.pyスクリプトと、このスクリプトの引数として渡すrtm_config.vspropsの対応完了。
しかし、この修正にてvc2008のみビルドが通らなくなる。
- r3397にてvc2008のビルド不具合の対応完了
- 不具合詳細
- 「'coil${COIL_DLLVER}.lib' を開けません」というビルドエラー、他
- rtm_config.vspropsがvcprojファイルのプロパティシートとして利用された場合に発生した。
これに該当するのはvc2008のみで、vc2010以降はvcxprojファイルでrtm_config.propsを利用しているため影響がなかった。
- 対応方針
- 今回の修正で、OpenRTMConfig.cmakeの中でバージョン番号が直書きになっていたものを変数で置き換えている。
本チケット説明で記載したように、COIL_DLLVERの変数はcmake実行時に展開されればよいとの考えで、OpenRTMConfig.cmakeの最初に
「set(COIL_DLLVER 120_vc12)」のように定義されるようにした。 - OpenRTM-aistでのvc2008サポートはバージョン1.2までとなる見込みなので、rtm_config.vspropsへvc2008の対応のためだけの
設定は加えない方がよいと判断した - 今回の修正を加える前のrtm_config.vspropsならば、vc2008のビルドが通る。そこでこの内容を新たな設定ファイル
rtm_config_vc9.vspropsとして用意した。 - vc2008の場合、OpenRTMConfig.cmakeを生成する場合はrtm_config.vspropsを使用するが、vcprojファイルを生成する場合は
rtm_config_vc9.vspropsを読み込むようにすることで不具合が改善した。 - 修正対象は、vcprojtool.py、各yamlファイル
- 今回の修正で、OpenRTMConfig.cmakeの中でバージョン番号が直書きになっていたものを変数で置き換えている。
- 不具合詳細
操作