Modern applications should install their icons in a freedesktop.org compliant way and make use of icon cache too.
The order where applications should look for icons is defined here:
(where "$XDG_DATA_DIRS/icons" is preferred over pixmaps)
"$XDG_DATA_DIRS/icons would" also enable us to use icon cache:
Distributions mostly handle the icon cache updates for packages.
This PATCH is compatible with current spacefm: https://gist.github.com/2942793
Or if you like to keep the old behavior as default, because people HAVE to update the icon cache in order for them to show up in spacefm, then you might consider a switch like this: https://gist.github.com/2942878
f06b5b8 and b026ca1 add configure option --disable-pixmaps to move installation of icons to share/icons instead of share/pixmaps.
Due to the necessity of updating the cache, share/pixmaps is the default. However my debian packages and Arch AUR spacefm-git now use share/icons.
If you package spacefm using --disable-pixmaps, after install be sure to run:
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor