Skip to content

feat: build and run HAL natively on Windows (MSYS2/UCRT64) - #677

Open
horhulenko wants to merge 1 commit into
emsec:masterfrom
horhulenko:feature/windows-native-build
Open

horhulenko wants to merge 1 commit into
emsec:masterfrom
horhulenko:feature/windows-native-build

Conversation

@horhulenko

Copy link
Copy Markdown

HAL now builds and runs natively on Windows, no WSL involved.

It's MSYS2 (UCRT64) with the usual CMake + Ninja, plus -DUSE_VENDORED_PYBIND11=OFF because the bundled pybind11 is a bit too old for current Python. CLI, Python and the GUI all work, also from a folder with something like ü in its path (learned that one the hard way).

I built it on Ubuntu 24.04 with all plugins and tests, all 42 tests pass (run one at a time, -j trips over a few on master too) and netlists come out identical to master. So Linux/WSL version is unaffected by this PR.

Three of the GUI bugs live on Linux too, Linux is just too polite to crash on them. When the GUI meets a plugin it hasn't seen before, it loads it once to read its info and then unloads it again along with its dependencies (gui_plugin_manager.cpp). For dot_viewer and a couple of others that dependency is hal_gui, so the GUI unloads itself in the middle of the scan. Then removePlugin() in content_manager.cpp only takes dot_viewer's factory off the list and never deletes it, so it stays registered as a project serializer and the next project open or save calls into a plugin that is already gone. And newProject() in file_manager.cpp forgets to load the gate library parser before loading the gate library. That last one is the same fix as #655, so whichever PR goes in second can just drop it.

And #656 works now, no bridge required. With QT_USE_NATIVE_WINDOWS=1 ShareX snaps to the docked panels.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant