catkinのprofile機能
そもそものモチベーションはcatkin
でビルドしているワークスペースがあり、そこでclang-tidy
を手軽にかける方法を探していたのですが、catkinにprofile機能というのがあり、それを使えば簡単にできそうだったので紹介します。
catkin
のprofile機能に関しては、ここに良い記事があるので参照いただければと思います。https://choreonoid.org/ja/manuals/latest/ros/catkin-profile.html
簡単に言うと、ビルド環境(ビルドオプション、ビルドターゲット、ビルド成果物の場所)等を簡単に切り替えるための機能です。
サンプル
以下のように例えば3つprofileを用意します。
catkin config --profile release --install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
catkin config --profile debug --install --cmake-args -DCMAKE_BUILD_TYPE=Debug
catkin config --profile clang-tidy --whitelist foo piyo -x _tidy --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_CLANG_TIDY:STRING="clang-tidy-12;-checks=*"
この状態で、
catkin profile set clang-tidy
catkin build
とすると、foo, piyoパッケージだけにclang-tidy
がかけられます。third_partyのパッケージがワークスペースに入っていても対象から簡単に外せたりするので便利です。
catkin profile set debug
catkin build
でdebugビルドができます。
catkin build --interleave
のように、--interleave
をつけるとビルド途中が確認できこれも便利です。