Skip to content

Add PThreads4W to the win-64 msvs-compiled binary package#744

Open
mdealencar wants to merge 2 commits intocoin-or:stable/2.10from
mdealencar:threads4w_stable/2.10
Open

Add PThreads4W to the win-64 msvs-compiled binary package#744
mdealencar wants to merge 2 commits intocoin-or:stable/2.10from
mdealencar:threads4w_stable/2.10

Conversation

@mdealencar
Copy link

Hi all,

I have modified the windows-msvs workflow to build binary releases with CBC_THREAD enabled. The lack of multi-threading on Windows seems like a major setback for users of CBC on that platform.

The build process uses vcpkg to pull and compile the pthread lib. It seemed to me most straightforward to include the .dll in the distribution, but if you think static linking is the way to go, I can switch to that. Some additional notices are also included to comply with Pthreads4w's Apache-2.0 license.

An artifact is available at https://github.com/mdealencar/Cbc/actions/runs/18375636033 for inspection.

If this PR gets merged, I can adapt it to the master branch as well. Ultimately, I would really like to see this rolling out to the conda package as well.

@CLAassistant
Copy link

CLAassistant commented Oct 9, 2025

CLA assistant check
All committers have signed the CLA.

@jhmgoossens
Copy link
Contributor

@tkralphs I agree that single-threaded Cbc performs (far) worse than the multi-threaded version. This PR produces a multithreaded Cbc, but only for the windows-msvs workflow, which is used in CI builds and part of released binaries. Are derived products like the conda package using the windows-msvs workflow or similar? I suspect not.

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.

3 participants