Build for Windows on Windows using MSYS2 #1847
Open
+120
−25
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.
By simplifying the building process, the need for maintaining extra repositories for cross-compiled dependencies is eliminated.
Currently, cross-building on Linux is not functioning properly (because now Wine is not utilized for running cv2pdb), but I can restore it if necessary.
Brief comments on file changes:
shell
variable has been introduced to matrix builds. The Windows build employs the MSYS2 MINGW64 shell. Starting the shell is a bit tricky as a login shell needs to be started in order to modify the PATH, and we need to preserve the working directory.cmake_path(APPEND ...)
is employed for concatenating paths in CMake install files to tackle the issue where the naive approach results in an invalid path/D:/grandorgue
when joining an empty path andD:/grandorgue
.C:\Windows\System32\convert.exe
could be mistaken for ImageMagick'sconvert
utility. As a solution, we exclude theSystem32
directory when searching forconvert.exe
.Notes: