Slow cmake glob checks
- 主要言語
- C++
- スター
- 35
- フォーク
- 77
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
On a cmake project that makes use of boost via `add_subdirectory`, the "Re-checking globbed directories..." stage at the start of the build will occasionally take several tens of seconds. This traces down to the use of `CONFIGURE_DEPENDS` on Boost.Assert and other Boost libraries.
https://github.com/boostorg/assert/blob/af15ced8d04907345a0211dab46557e085960eb7/CMakeLists.txt#L26
Consider disabling `CONFIGURE_DEPENDS` when Boost is used as a dependency, as glob results shouldn't change and re-checking can be costly.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Boost.Assert の CMakeLists.txt の 26 行目付近から始め、glob されたファイルに CONFIGURE_DEPENDS がどのように適用されているかを調べます。add_subdirectory を使って Boost を組み込む CMake プロジェクトで "Re-checking globbed directories..." の遅延を再現し、その後、通常の glob の動作が正しいまま、依存関係のビルドでコストの高い再チェックが発生しなくなることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cmake, cpp
- 領域
- build-system, performance
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 55/100