(address . bug-guix@gnu.org)
Hi,
I was playing around with a package using cmake and got an error when
crossbuilding for i586-pc-gnu. The reason seems to be that cmake build
system only checks for a mingw target and assumes all other targets are
Linux and sets CMAKE_SYSTEM_NAME accordingly.
I am able to work around it by adding something like
#$@(if (and (%current-target-system)
target-hurd?)
'("-DCMAKE_SYSTEM_NAME=GNU")
'())
to the configure-flags of my package.
I am unsure how a fix should look like. I was thinking of moving the
entire crossbuild code out of the build side and instead prepend the
right configure flags for the target to configure-flags for the cross
builder kind of similar how meson-build-system does it.
Unfortunately a change like this causes a lot of rebuilds.