Sorry, I missed your previous post before asking ...
Thanks for sharing your knowledge !

If I understand well regarding your example, cmake has to be only in hostmakedepends (and not makedepends) for cross-compiling on x86_64 for armv7 arch.

If not, I mean if cmake was listed in makedepends:
call of cmake won't work, because its runtime will be an armv7 binary then, that can't be runned on x86_64 arch (which is cross-compiling).

So the rule for cross-building is:
all stuff that need to be runtimed/executed during the build process (and not only linked/generated) has to be in hostmakedepends in order to have the right binary platform type (native and not cross-target architecture).

right ?