modern CMakeの使用について
- modern CMakeが使用可になった?前から使えてたけど推奨になった?
- classic CMakeとmodern CMakeの混在は不可っぽい.
- たぶん「Foxy Fitzroyからmodern CMakeも使えるようになった」ということだと思う.ここで重要なのがmodern CMake使うなら全部の部分で使えということ.混ぜると強制的にclassicになるっぽい.特に,ament_export_{interface,include_directories,libraries}あたりは不使用が推奨.
- 参考:Foxy Fitzroyでの変更点のうちClassc CMake vs. modern CMake
- classic CMakeとmodern CMakeの混在は不可っぽい.
基本タグの効率化?
package.xml
以下の三つのタグについて,全部同じなら一つにまとめられるようになった.
- 旧記載
- <build_depend>
- <exec_depend>
- <test_depend>
- 新記載
- <depend>
CMakeLists.txt
- ament_export_interfacesはament_export_targetsに変更
- ament_export_{include_directories,libraries}は廃止
- ament_export_directoriesは使ってもいいが不使用を推奨?
独自メッセージ関連のタグ
package.xml
rosidl_default_generatorsは<buildtool_depend>タグだった(と思う)が<build_depend>になった.
-
旧記載
- <buildtool_depend>rosidl_default_generators</buildtool_depend>
-
新記載
- <build_depend>rosidl_default_generators</build_depend>
新機能
パラメータ再設定の関数
set_on_parameters_set_callback関数に加え,add_on_set_parameters_callback関数およびremove_on_set_parameters_callback関数が使えるようになった.