いけむランド

はてダからやってきました

CMake 3.31.3 no longer detects Boost 1.66 due to Config mode preference

cmake のアップデートをしたら boost が検出できなくなった。

cygwin.com

cmake 3.28.3 では boost を認識していたが cmake 3.31.3 では認識してくれないために boost を使う C++ のパッケージがビルドできなくなっている。

いつものように AI に相談しながら、まとめてもらった硬めの内容を ML には投げた。

原因は cmake が 3.30 から find_package(Boost) が従来のモジュールモード (FindBoost.cmake) よりもコンフィグモード (BoostConfig.cmake) を優先するようになったが、Cygwin で提供している boost 1.66 には BoostConfig.cmake が含まれていないためである。

cmake.org

BoostConfig.cmake は 1.70 以降に含まれるようになっている。

cmake.org

gitlab.kitware.com

とはいえ Cygwin の Boost は orphan であるため、アップデートはなかなか難しいと思われる。