CMakeの警告に関する報告

お世話になります。鈴木@JAEAです。

Choreonoidをビルドする際、ccmakeの工程でconfigureをすると
Ubuntu 20.04の環境下では下図のような警告が表示されるようです。

warning

あくまで警告なので、Choreonoidを使用する上では特に問題はなさそうですが、
気になる方もいるかと思いますので、可能であれば対処いただけると助かります。

これについて、基本的にはaptパッケージとしてインストールされるAssimpにバンドルされているCMakeスクリプトの問題のようです。Ubuntu22.04ではAssimpのバージョンも上がっていて、この問題も解消されているようで、警告も出なくなりました。

警告自体はこのメッセージにあるようにCMakeのポリシーをかえるコマンドをChoreonoidのCMakeLists.txt側で実行することで抑制することはできるのですが、それをしてしまってよいものか少し悩むところです。警告を抑制してしまうと、他の部分で同様のミスをしても警告が表示されなくなってしまいますので。

とは言え確かにこれだけ長い警告メッセージが出てくると気にはなりますよね。Ubuntu20.04のときだけ、さらにAssimpの検出処理のときだけ、ポリシーを一時的に変えればよいのかもしれませんね。そのような記述ができないか、テストしてみようと思います。

ご検討いただきありがとうございます。

他の警告まで抑制してしまうのは、おっしゃる通り悩ましいところですね。
ご提案のように条件付きでポリシーを一時的に変更するか、もしくは、マニュアルに事象と対処方法をnoteとして一言書いておくのがベターかと思います。

こちら対処を試みたのですが、うまく行きませんでした。
ChoreonoidのCMakeLists.txtでcmake_policyコマンドを使ってCMP0012の設定を変えても、この警告メッセージを無くすことができません。ポリシーの変更は同じcmakeファイルの中でないと有効にならないのかもしれません。

この件はGithubのassimpのIssusesでも報告されていますね。

これによると、assimp側では対処されているようで、それでUbuntu22.04の場合は新しいバージョンのassimpが使われていて警告が出なくなっているようです。
Ubuntu20.04のパッケージについては、上記ページの最後にlaunchpadでのバグ報告のページがリンクされています。

よく分からないのですが、ここの書き込みによると、Ubuntu 20.04のパッケージはどうも更新されていないように読めます。backportから新しいバージョンがインストールできればよいのですが、それもないようですね。最後の書き込みに

Please consider a backport for Focal. This LTS distro will become EOL in 2025 only.
Thus there are still 3 years of use ahead of us…

とあるままですので…。

というわけでこの問題を解消することは現時点では難しそうです。

承知しました。

検証ならびにご報告ありがとうございました。