CMake: fail fast on Windows (PSLP is POSIX-only) #69
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As reported in issue #67, the presolve module
PSLPdepends on POSIX APIs and headers and is not compatible with MSVC on Windows. This currently results in confusing build failures during compilation for Windows users.Thus, this PR adds a configure-time guard to explicitly fail on Windows platforms. Rather than allowing CMake to generate a build system that fails during compilation, this change makes the limitation explicit and fails fast with a clear error message and suggested workarounds. Failing early at configuration time provides a significantly better user experience and avoids unnecessary debugging effort.
What this change does
WIN32check in the rootCMakeLists.txt.FATAL_ERRORduring configuration with:PSLPis POSIX-only),