背景
CMake の configure(bootstrap) めんどくさい...
CMake 3.20 から(正確には 3.19) configure の設定を json で記述できるようになっていました!
使い方
相変わらず公式のドキュメントは見ずらいです...
とりあえず CMakePresets.json 用意して,
$ cmake --preset <preset_name>
で configure してくれます! ディレクトリは勝手に作ってくれました.
3.24 で --fresh
対応
いままでは configure やり直したい場合, キャッシュなど消すためディレクトリを消して作り直しなどが必要でしたが,
3.24 からは --fresh
で自動で CMakeCache.txt 消して reconfigure してくれるようになりました.
したがって 3.24 以降では
$ cmake --preset <preset_name> --fresh
が推奨ですかね.
あとは普通に今まで通りですが, cmake で preset を参照してビルドすることもできます.
$ cmake --build --preset <preset_name>
preset にそれぞれのタスク(build, test, package)に対応する処理の記述が必要です.
強制的にリビルドさせたい場合は --clean-first
をつけておきます.
$ cmake --build --preset <preset_name> --clean-first
Workflow preset
あんまり情報がないですが, configure, build や test を一括して行えるようにする感じです.
CI ビルドとかで処理の記述がやりやすくなります.
ただあんまり複雑なことはできません.
いくつか改善は議論されているようです.