After a lot of frustration I decided that the best way to have GraphicsMagick/ImageMagick finding the required magic.mgk file inside YourApp.app/Contents/Resources is to patch the image library code.
The change is quite trivial and I’ve pasted the diff below. This patch was applied to GraphicsMagick version 1.3.7. Basically it uses the path provided via magick::InitializeMagick(“executable/path”) to find Contents/Resources. Have fun!!!
diff -r 152043af6bf4 magick/blob.c --- a/magick/blob.c Wed Nov 18 00:05:49 2009 +0000 +++ b/magick/blob.c Wed Nov 18 00:29:25 2009 +0000 @@ -1741,6 +1741,18 @@ #endif /* !defined(UseInstalledMagick) */ + + { + // ruibm added + + char buffer[2048]; + sprintf(buffer, "%s/../Resources/", GetClientPath()); + // printf("Adding [%s] to the search path.n", buffer); + AddConfigurePath(path_map,&path_index,buffer,exception); + } + + + path_map_iterator=MagickMapAllocateIterator(path_map); if (logging)