I understand that, and I had that before, but it wasn’t working so I had to try it. Unfortunately, Azure Pipelines doesn’t show any of the cmake output, so I have no idea what’s going wrong.
edit: it now does say that it can’t find a CMakeLists.txt file, so clearly it was running before… just it’s impossible to debug.
edit 2: seems like the reason it’s not showing any output is because it’s running inside of msys bash. Now I’m trying running cmake in whatever shell that azure gives us.
The tool I used most to work through the MSYS2 dependency issues was pacman -Ss <searchstring>, which brought up a list of available packages that match the string, and marked the ones that were already installed. And, there were a lot of missing things…
@CarVac
Do you use MSYS2? In that vase you have to use the mingw64 shell to get a result as it brings all the needed environment variable.
And yes, you have to load the dependency packages of lensfun with pacman.
$ pacman -Ss glib2
mingw32/mingw-w64-i686-glib2 2.64.2-1
Common C routines used by GTK+ 2.4 and other libs (mingw-w64)
mingw64/mingw-w64-x86_64-glib2 2.64.2-1 [installé]
Common C routines used by GTK+ 2.4 and other libs (mingw-w64)
msys/glib2 2.54.3-3 [installé]
Common C routines used by GTK+ and other libs
msys/glib2-devel 2.54.3-3 (development)
glib2 headers and libraries
msys/glib2-docs 2.54.3-3
Documentation for glib2
then
$ pacman -S mingw-w64-x86_64-glib2
avertissement : mingw-w64-x86_64-glib2-2.64.2-1 est à jour – réinstallation
résolution des dépendances…
recherche des conflits entre paquets…
Paquets (1) mingw-w64-x86_64-glib2-2.64.2-1
Taille totale installée : 21,95 MiB
Taille de mise à jour nette : 0,00 MiB
:: Procéder à l’installation ? [O/n]
n
and the same for all needed packages. And you surely need mingw-w64-x86_64 packages.
Cross-compiling for Windows is a PITA. Frankly, the cleanest approach I’ve tried to date has been linux-hosted mxe.cc. It seems to be stuck at gcc 5.5, which makes me sad, but I still use it to produce rawproc Windows binaries for releases.
MSYS2 on a Windows host with a desktop works okay, but it’s still not as convenient as mxe.cc.
@ggbutcher
You never were a fan of MSYS2
MSYS2 on a Windows host with a desktop with a MINGW64 shell works okay to build applications
And you get a lot of ready to use up to date packages without effort.
It uses bash and you can run scripts developped on linux.
What could be easier?
I see a lot of people cross compiling for windows on linux with mingw64 also.
Actually, I like it a lot. I’m compiling with it right now, starting the work on a denoise threshold.
I switch-hit through the day on different computers. I’m typing this on a Win10 Lenovo Miix tablet, sitting with my wife at the kitchen table. When I sit at my desk I use a Ubuntu/AMD desktop computer, which is also where I run the build scripts for rawproc releases. For dev work, MSYS2 works nicely, once I got the dependencies straight. That included such as hand-compiling LittleCMS2 so it actually used threading.
For releases, I do static compile/link of the whole shebang, no good reason other than makes the wininstaller scrip easy, I guess. And mxe.cc defaults to a static toolchain, so it all just works. Every time I assemble a release, I just check out a new copy and kick off the compilation, go to lunch. When I come back I have a fresh gcc environment with which to integrate rawproc.