Conversation
trying to use tetgen as an example to figure out a working solution
added tags for repos in cibc-internal and use tags to download src
# Conflicts: # Superbuild/Cleaver2External.cmake # Superbuild/FreetypeExternal.cmake # Superbuild/GlewExternal.cmake # Superbuild/SQLiteExternal.cmake # Superbuild/ZlibExternal.cmake
…those in scirun cmake next
# Conflicts: # src/Core/Python/PythonInterpreter.cc
|
python runs without crash on mac |
Confirmed on my Macbook Air M4 |
|
@jessdtate @basisunus I have another PR that fixes the tests, and then another one to re-enable the CI test harnesses. Once those are in master, we can merge them into here, and actually test this out systematically. |
|
To fix the build error: Now I have a complete picture. Here's what's going on: Yes, The PR introduced two interconnected problems:
The fix would need to either: (a) add |
|
There's the answer. The BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${_EP_CFG}
INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config ${_EP_CFG}With The GUI builds use The fix would be to either:
|
|
I was trying to replicate it on my mac. I pulled the latest refactor and enabled BUILD_TESTING and ENABLE_CONVERAGE. It builds without the Qwt error. Did I miss anything? |
|
Now I see it. Building with Debug now. |
|
@basisunus Looks like that change broke a bunch of other builds... |
|
Back to green! Now we need to run all the tests locally, to compare results. I'll set up a shared tracker. |
|
Sorry for this late-night drollery, but I reread the PR comment and laughed since the title is "Refactor to latest" and the comment says Windows 10 and VS 2022, which are very far from the latest. Next PR: Windows 11 and VS 2026. |
dcwhite
left a comment
There was a problem hiding this comment.
🤖 Automated review by Claude (Claude Code), posted via @dcwhite.
Focused pass on build-settings preservation in this refactor. Good news first: no compiler warning flags or compiler/standard flags are removed or changed — /wd4251 /wd4275, -Wall -Wunused-parameter -Winfinite-recursion, the C++17 standard settings, and the coverage flags in src/CMakeLists.txt are all untouched. The bulk of the diff is Boost/Python link-target modernization (${SCI_BOOST_LIBRARY} → imported Boost::* targets), not a flags change.
Two minor, non-blocking nits flagged inline below.
|
|
||
| # Defensive: prevent accidental linkage to release Python | ||
| target_link_options(Core_Python PRIVATE | ||
| $<$<CONFIG:Debug>:/NODEFAULTLIB:python313.lib> |
There was a problem hiding this comment.
🤖 Claude review: the Python import-lib version is hardcoded here as python313.lib. When the bundled Python is bumped to 3.14+, this /NODEFAULTLIB:python313.lib will silently stop matching and quietly re-introduce the exact release/debug ABI mixing this block exists to prevent — with no build error to signal it.
Suggest deriving it from the Python version the build already knows, e.g. /NODEFAULTLIB:python${SCI_PYTHON_VERSION_SHORT_WIN32}.lib (or whichever version variable is in scope here), so it tracks the actual Python version automatically.
| # if(NOT Qt_PATH OR NOT IS_DIRECTORY "${Qt_PATH}") | ||
| # | ||
| # if(APPLE) | ||
| # set(_qt_default "/Users/basisunus/Qt/6.10.2/macos") |
There was a problem hiding this comment.
🤖 Claude review: this commented-out Qt auto-detection block bakes in developer-specific absolute paths (/Users/basisunus/Qt/6.10.2/macos, plus the specific C:/Qt/6.10.1/... and $ENV{HOME}/Qt/6.11.0/... paths just below). Even commented out, it will mislead other contributors and rot fast as Qt versions move.
Suggest either removing the block entirely or, if the auto-detect convenience is wanted, replacing the hardcoded prefixes with a generic/env-based default before merge.
|
🤖 Follow-up from the Claude review (posted via @dcwhite). I empirically verified the "flags preserved" claim from my earlier review: generated Result: warning flags and compiler/codegen flags are byte-for-byte identical across every file. The only deltas are preprocessor defines, all of which are intentional consequences of the Boost/Qt/Python modernization. Full breakdown in the comment below. 👇 |
|
🤖 Empirical verification of compiler flags / warning settings (Claude review, via @dcwhite) Method: built Warning & compiler flags: identical ✅
Boost include treatment: still
|
| Define | Direction | Reason |
|---|---|---|
BOOST_NO_CXX11_ALLOCATOR, BOOST_PYTHON_STATIC_LIB/MODULE |
removed | old variable-based Boost config; superseded by the new no-lib defines |
BOOST_SYSTEM_NO_LIB, BOOST_FILESYSTEM_NO_LIB, BOOST_FILESYSTEM_STATIC_LINK |
added | the new compile definitions in this PR |
QWT_DLL (55 files) |
removed | Qwt switched DLL → static |
QT_SVG_LIB, QT_PRINTSUPPORT_LIB |
added | now propagated automatically from the Qt::Svg / Qt::PrintSupport imported targets |
python3.11 → python3.13 paths |
changed | refactor bumps Python 3.11 → 3.13 (this is exactly why the hardcoded python313.lib matches today — see inline comment) |
Caveat: the baseline tree compared here was a recent non-master feature branch, and the refactor tree includes a later fix-python-test merge. The only 2 files unique to the baseline (OffscreenGLRenderer.cc + its moc_) are a branch-divergence artifact, not a refactor removal.
Net: warning settings and compiler flags are preserved exactly; the refactor changes only which library-selection defines are set, all deliberately.
Built on Windows 10 with Visual Studio 2022.
Runs on Windows.
Some issues with vector out of bound, possibly initialization issues and qt related.