diff --git a/contrib/build-linux-wallet.sh b/contrib/build-linux-wallet.sh index 2d917d3e..161f2868 100755 --- a/contrib/build-linux-wallet.sh +++ b/contrib/build-linux-wallet.sh @@ -24,6 +24,14 @@ require_path() { fi } +reset_qt_configure_state() { + local qt_work="$ROOT/depends/work/build/$HOST/qt" + [[ -d "$qt_work" ]] || return 0 + + echo "Clearing stale Qt configure state for $HOST..." + find "$qt_work" -mindepth 2 -maxdepth 2 -type d -name qtbase-build -prune -exec rm -rf {} + +} + cd "$ROOT" require_cmd make @@ -33,6 +41,8 @@ require_cmd g++ require_cmd cmake require_cmd ninja +reset_qt_configure_state + echo "Building native depends for $HOST..." make -C depends HOST="$HOST" NO_QT=0 -j"$JOBS" require_path "$BASE_CONFIG" diff --git a/doc/build-menu.md b/doc/build-menu.md index 916032eb..7eb48b69 100644 --- a/doc/build-menu.md +++ b/doc/build-menu.md @@ -52,7 +52,9 @@ instead of being required as Ubuntu system development packages. The Linux Qt wallet option also installs Ubuntu desktop development headers needed by Qt's xcb platform plugin, including fontconfig, freetype, xcb, and xkbcommon packages. The wallet helper uses the matching `protoc` built by -`depends/`, so a system protobuf compiler is not required. +`depends/`, so a system protobuf compiler is not required. It also clears stale +Qt configure directories before rebuilding, because failed CMake feature checks +can otherwise be cached between attempts. Defaults --------