Is there any documentation what is needed for mingw-w64 builds?
Only installing mingw-w64 seems not to be enough. Wine is also needed (but is not checked in cmake). Afterwards I still see the following in build outputs:
it looks like wine32 is missing, you should install it.
multiarch needs to be enabled first. as root, please
execute "dpkg --add-architecture i386 && apt-get update &&
apt-get install wine32"
And while we are on it: where would be the best location to check if wine is installed in the current cmake files?
builds with mingw-w64 + wine seem to run fine even with the error warning in the op. So that seems to be the only two requirements.
The error in op is produced directly by wine:
jenkins@8f9d33b77d90:~/workspace/build$ wine --help
it looks like wine32 is missing, you should install it.
multiarch needs to be enabled first. as root, please
execute "dpkg --add-architecture i386 && apt-get update &&
apt-get install wine32"
Usage: wine PROGRAM [ARGUMENTS...] Run the specified program
wine --help Display this help and exit
wine --version Output version information and exit
builds without wine fail with:
[ 10%] Building CXX object src/tools/kdb/CMakeFiles/kdb-objects.dir/metaget.cpp.obj
Scanning dependencies of target kdberrors_generated
[ 11%] Generating ../include/kdberrors.h
/bin/sh: 1: elektra-export-errors_EXE_LOC-NOTFOUND: not found
src/error/CMakeFiles/kdberrors_generated.dir/build.make:61: recipe for target 'src/include/kdberrors.h' failed
make[2]: *** [src/include/kdberrors.h] Error 127
CMakeFiles/Makefile2:281: recipe for target 'src/error/CMakeFiles/kdberrors_generated.dir/all' failed
make[1]: *** [src/error/CMakeFiles/kdberrors_generated.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
which is because https://github.com/ElektraInitiative/libelektra/blob/36f2a2a0fd8b961ad5989a8a8a1fa05006a8ba2a/cmake/Modules/LibAddMacros.cmake#L164 does not check if wine is actually found.
Thank you for pointing to these problems!
I do not know where the best place to check for tools that are only needed within toolchains are. Maybe simply failing within find_util is as good as any other option.
The documentation for how to run the mingw buildjob is only in the build server descriptions. Note that there are two tool chain files. I am not sure if both work. We maybe should remove the one we do not test.
I do not know where the best place to check for tools that are only needed within toolchains are. Maybe simply failing within find_util is as good as any other option.
I went with 3e967f8d91f29aa48a880c5e2df03cb93e7eb930