プロジェクト

全般

プロフィール

調査 #4551

CMakeLists.txtのテンプレートに含まれているfind_package(OpenRTM) を外した場合の動作を調べる

n.kawauchiほぼ6年前に追加. ほぼ6年前に更新.

ステータス:
解決
優先度:
通常
担当者:
対象バージョン:
-
開始日:
2018/06/01
期日:
進捗率:

100%

予定工数:

説明

  • Windows環境の場合はインストーラがシステム環境変数OpenRTM_DIRを定義しているので、CMakeはOpenRTMConfig.cmakeのディレクトリをすぐに特定できる。
    この環境では、CMakeLists.txtへfind_package(OpenRTM) を記載して検索してはいけないとのこと。(slack 原さんより)
  • CMakeを使う(find_packageを使う)ということは、なるべく環境変数に依存しない方がよい(ポータビリティが増します)ということですが、
    OpenRTM-aistはWindows環境の場合、32bit版、64bit版の両方をインストールして切り替えて使用することができるようにしているため、システム環境変数を利用している
  • Linux環境での動作も確認し、テンプレートの修正について調査する

関連するチケット

関連している RTC Builder - バグ #4559: C++用のCMakeLists.txtのテンプレートに含まれているfind_package(OpenRTM) を削除する解決2018-06-15

履歴

#1 n.kawauchiほぼ6年前に更新

  • ステータス新規 から 解決 に変更
  • 進捗率0 から 100 に変更
  • C++用のトップのCMakeLists.txtに含まれる下記2行は削除してOK
    # Get necessary dependency information
    find_package(OpenRTM)
    
  • C++用は、このCMakeLists.txt中にもう1か所入っていて、2回宣言しているため
  • find_package(OpenRTM)を呼び出すことで、インストールされているOpenRTM-aistのバージョン番号を取得し、
    これをmsi,deb,rpmパッケージ作成時のインストール先パスとして利用している
  • 上記削除後のビルド動作をWindowsとFedora27で確認済み

#2 n.kawauchiほぼ6年前に更新

  • 関連している バグ #4559: C++用のCMakeLists.txtのテンプレートに含まれているfind_package(OpenRTM) を削除する を追加

他の形式にエクスポート: Atom PDF