操作
機能 #3601
完了C++のRTC作成用テンプレートにDEB/RPMパッケージ作成機能を追加する
開始日:
2016/09/07
期日:
進捗率:
100%
予定工数:
説明
- ImageProcessingの各RTCは手動でこの機能を追加している
CMakeでのDEB/RPMパッケージ作成手順
- 上記の手順では、DEB/RPMの切り替えはCMakeLists.txtの修正が必要となっている
- パッケージタイプを自動で判定する仕組みは、下記チケットにてCMakeLists.txtへ追加する予定
#3584
- 上記の機能全てをテンプレートに組み込む
ファイル
n.kawauchi さんがほぼ8年前に更新
- ファイル CMakeLists.txt-diff.htm CMakeLists.txt-diff.htm を追加
- ファイル src_CMakeLists.txt-diff.htm src_CMakeLists.txt-diff.htm を追加
- ファイル include_CMakeLists.txt-diff.htm を追加
- ファイル idl_CMakeLists.txt-diff.htm idl_CMakeLists.txt-diff.htm を追加
- 担当者 を ga にセット
- 対象バージョン を RELEASE_1_2_0 にセット
- テンプレートの修正に関して、r687との差分を示すhtmlファイルを添付しました
- htmlの画面左:CMakeLists.txt で示している方が修正後の設定です
- 画面右:CMakeLists_rtcb.txtは、r687から生成したビルダーの設定です
- PROJECT_MAINTAINER と PROJECT_TYPE は、メールでご連絡した設定への変更でお願いします
n.kawauchi さんがほぼ8年前に更新
- src_CMakeLists.txt-diff.htmについて補足します
- 画面右のCMakeLists_rtcb_opencv.txtは、比較の便宜上、OpenCV利用設定が追加されています
- 下記コードが現在のビルダーのテンプレートに設定されていますが、これはこのまま残して下さい
- この定義を加えずともcmakeのワーニングが出ない設定が、CMP0046のポリシーで、 #3082 で検討し対応したものです
if(NOT TARGET ALL_IDL_TGT) add_custom_target(ALL_IDL_TGT) endif(NOT TARGET ALL_IDL_TGT)
- 今回はポリシー設定を追加で対応させることにしました(CMakeLists.txt-diff.htm参照)
n.kawauchi さんがほぼ8年前に更新
- ファイル src_CMakeLists.txt-diff_修正.htm src_CMakeLists.txt-diff_修正.htm を追加
- ファイル cmake_cpack_options.cmake.in-diff.htm cmake_cpack_options.cmake.in-diff.htm を追加
- 題名 を RTC作成用テンプレートにDEB/RPMパッケージ作成機能を追加する から C++のRTC作成用テンプレートにDEB/RPMパッケージ作成機能を追加する に変更
修正を反映したOpenRTPで新規RTCを作成したところ、Ubuntu16.04, Fedora25の環境でそれぞれパッケージを作成でき、インストール先も問題ないという
動作を確認できましたが、細かい部分で修正指定のミスがありました。修正差分の新たなhtmlファイルを添付しましたのでよろしくお願い致します。
動作を確認できましたが、細かい部分で修正指定のミスがありました。修正差分の新たなhtmlファイルを添付しましたのでよろしくお願い致します。
- src_CMakeLists.txt-diff_修正.htmについて
- ImageProcessingのRTC群を一括ビルドするための設定を外しました。「if (SolutionDir) ...」の設定はテンプレートでは不要です。
- cmake_cpack_options.cmake.in-diff.htmについて
- cmake/cpack_options.cmake.inに対する修正です。抜けていました。
n.kawauchi さんがほぼ8年前に更新
- ステータス を 解決 から フィードバック に変更
- 進捗率 を 100 から 90 に変更
- 修正内容を確認しましたが、SrcCMakeLists.txt.vsl の方が違うので訂正をお願いします。説明が至らずお手数をおかけします。
- 55-57行目ですが、「${INSTALL_DIR}」ではなく「${INSTALL_PREFIX}」です。
RUNTIME DESTINATION ${INSTALL_PREFIX} COMPONENT component LIBRARY DESTINATION ${INSTALL_PREFIX} COMPONENT component ARCHIVE DESTINATION ${INSTALL_PREFIX} COMPONENT component)
- 新たな修正としてRPMパッケージ用に cmake/cpack_options.cmake.in の修正をお願いします
- 2行目に下記★を追加して下さい
set(CPACK_PACKAGE_NAME "@PROJECT_NAME@") set(CPACK_RPM_PACKAGE_NAME "@PROJECT_NAME@") ←★この行を追加 set(CPACK_PACKAGE_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@")
- 以上はC++用の修正です。Python用は別チケットでお願いする予定です。 よろしくお願い致します。
操作