Meson: More fixes for Windows builds #51
Merged
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.
Hi,
I went a bit further to see whether we can build libsigc++ master in maintainer mode even on Visual Studio builds, and it turns out that it is indeed possible, but it does take some extra steps which involved installing
mm-common
,doxygen
, andGraphViz
(GraphViz
involves installing a pretty recent mingw-w64).It seems though, with the above items installed, we still need one small change to
meson.build
so that things will work, up to and including 'meson dist'.From the commit message:
Since we are assured that we are using Python 3.x on when we run Meson, we do not really need to look for the 'python3' executable, but we could just use whatever Python interpreter that is used to run Meson.
This will fix situations where it is commonly the case where we may have multiple Python 3.x installations on Windows (www.python.org, and those from Cygwin/mingw-w64), so that Meson really uses one and only one Python installation to run everything that is Python-related, which will
thus fix '[meson|ninja] dist' on Visual Studio builds.
I also managed to re-produce the error that was mentioned in 1, in MSVC_NMake/. Apparently, this is only caused when the build directory is a subdirectory of the source tree, so this attempts to fix this, where it looks like Meson is not handling the path separators properly or so.
Another fix added is to build the .rc files on Windows so that we have the version info embedded in the libsigc++ DLL as we did in the NMake Makefiles (and the previous project files).
With blessings, thank you!