From 56eebe3398cf5512a4e123dcf9a291832a505170 Mon Sep 17 00:00:00 2001 From: Tommaso Bianchi Date: Thu, 13 Aug 2026 10:00:10 +0200 Subject: [PATCH] kernel-test: stop configuring the GUI, which the kernel suite never needed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This script builds only libslic3r_tests, which links libslic3r and no GUI code — but cmake still processed the whole if(SLIC3R_GUI) block and every find_package inside it, so the kernel suite silently depended on the GUI's dependency set. That came due the moment upstream added wxInspector as a REQUIRED find_package: the orcacad-deps image predates it, so configure died pointing at src/CMakeLists.txt:92 with nothing about the kernel having changed. Turning the block off is not a workaround for that one dependency — it is the suite finally declaring what it actually needs, so the next GUI-side dependency added upstream cannot break it either. Surfaced by taking SoftFever's merge of main into the PR branch. --- scripts/kernel-test.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/kernel-test.sh b/scripts/kernel-test.sh index 7c2d2873f6..4feb8be2f3 100755 --- a/scripts/kernel-test.sh +++ b/scripts/kernel-test.sh @@ -111,7 +111,15 @@ docker run --rm \ cmake -S . -B build -G 'Ninja Multi-Config' \ -DCMAKE_PREFIX_PATH=\$DESTDIR \ -DwxWidgets_CONFIG_EXECUTABLE=\$DESTDIR/bin/wx-config \ - -DSLIC3R_GTK=3 -DBUILD_TESTS=ON \ + -DSLIC3R_GTK=3 -DBUILD_TESTS=ON -DSLIC3R_GUI=OFF \ -DSLIC3R_CAD=ON -DSLIC3R_STATIC=1 -DORCA_TOOLS=ON -DCMAKE_BUILD_TYPE=Release + # SLIC3R_GUI=OFF: this script builds ONLY libslic3r_tests, which links libslic3r and no GUI + # code, but cmake still PROCESSES the if SLIC3R_GUI block of src/CMakeLists.txt (lines 16-98) + # and every find_package inside it. That made the kernel suite depend on the GUI dependency + # set for no benefit, and it broke the moment upstream added wxInspector as a REQUIRED + # find_package at line 92: the orcacad-deps image predates it, so configure died pointing at + # src/CMakeLists.txt:92 while nothing about the kernel had changed. Turning the block off is + # not a workaround for that one dependency; it is the kernel suite finally declaring what it + # actually needs, so the next GUI-side dependency upstream adds cannot break it either. cmake --build build --config Release --target libslic3r_tests ./build/tests/libslic3r/Release/libslic3r_tests '$TAGS' --order decl"