Skip to content

Licenses, build info, and fixed METIS on Windows#220

Merged
Bruno02468 merged 4 commits intoMystranSolver:devfrom
Bruno02468:licenses_notice
Apr 29, 2026
Merged

Licenses, build info, and fixed METIS on Windows#220
Bruno02468 merged 4 commits intoMystranSolver:devfrom
Bruno02468:licenses_notice

Conversation

@Bruno02468
Copy link
Copy Markdown
Collaborator

This PR contains two new features and fixes METIS builds on Windows.

The two new features are:

  • mystran --version now prints information about the MYSTRAN build: compiler flags, build type, timestamp, embedded libraries, etcetera.
  • mystran --licenses now prints MYSTRAN's license, followed by the licenses of every library embedded into the binary.

Since all that information depends on the build environment, it cannot be determined until CMake runs. Therefore, CMakeLists.txt now contains code to keep track of all libraries are being statically linked into MYSTRAN (plus LAPACK, which is built from source and linked as object code -- still embedded into the binary).

The motivation for --licenses is compliance with open-source licenses, which require distribution of copyright notices in both source and binary form. We were covered for source form, since licenses would be present on the submodules and, in the case of system-provided libraries, we added them to an extra_licenses directory. But for binary form, we had to embed them and --licenses works.

As for --version, well, since I was already working on generating build information for runtime display, I decided to make something that'd help me. More than once I wasted time because some Fortran flag was being silently overridden, or because I lost track of what build type I was running. So --version takes care of that!

Oh, and METIS for Windows was breaking because of some weird stuff with GKlib's build script. I fixed include directories, linked against the embedded implementation of <regex.h>, and forced C99, and it works fine now. Yet another _patches directory, so... yay. Maybe we should contribute these fixes upstream one day.

@Bruno02468 Bruno02468 merged commit 684c975 into MystranSolver:dev Apr 29, 2026
1 check passed
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