Swift Package Index


Swift wrapper for ImageMagick (MagickWand) for Linux and MacOS


  • The latest stable release is 0.5.1. Released 3 years ago.
  • The last commit to master was 3 years ago.

Swift Version Compatibility

  • 0.5.1 and master
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 0.5.1 and master
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

Disclaimer

Project is currently under development.
Some feature may not work as expected or may not work at all.
Use at your own risk.

PRs and bugreports are more than welcome.

Swift MagickWand

Swift imagemagick MIT
Build Status codebeat badge Code Climate codecov
platforms SPM

This package supports 6.9.x version of ImageMagick.

Intallation

Shared

It should be possible it install MagickWand with required dependencies using script at /common/install-imagemagick.sh

curl -O -L https://github.com/naithar/MagickWand/raw/master/common/install-imagemagick.sh
bash install-imagemagick.sh

Mac OSX

brew install imagemagick@6

Linux

Install Dependencies
sudo apt-get -y build-dep imagemagick
Install ImageMagick
curl -OL https://www.imagemagick.org/download/releases/ImageMagick-6.9.6-8.tar.xz
tar xf ImageMagick-6.9.6-8.tar.xz
cd ImageMagick-6.9.6-8
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp --with-gs-font-dir=/usr/local/share/ghostscript/fonts
make
sudo make install

Add Package

Add this package to dependencies in your Package.swift file.

.Package(url: "https://github.com/naithar/MagickWand.git", majorVersion: 0)

Building and Testing

Shared

eval $(echo 'swift build -Xlinker -L/usr/local/lib/' `Magick-config --cflags` | sed 's/\(-[DI]\)/-Xcc \1/g')

eval $(echo 'swift test -Xlinker -L/usr/local/lib/' `Magick-config --cflags` | sed 's/\(-[DI]\)/-Xcc \1/g')

Mac OSX

swift build -Xswiftc -I/usr/local/opt/imagemagick@6/include/ImageMagick-6 -Xlinker -L/usr/local/opt/imagemagick@6/lib -Xcc -DMAGICKCORE_HDRI_ENABLE=0 -Xcc -DMAGICKCORE_QUANTUM_DEPTH=16

swift test -Xswiftc -I/usr/local/opt/imagemagick@6/include/ImageMagick-6 -Xlinker -L/usr/local/opt/imagemagick@6/lib -Xcc -DMAGICKCORE_HDRI_ENABLE=0 -Xcc -DMAGICKCORE_QUANTUM_DEPTH=16

Linux

swift build -Xcc -I/usr/local/include/ImageMagick-6/ -Xlinker -L/usr/local/lib/ -Xcc -DMAGICKCORE_HDRI_ENABLE=0 -Xcc -DMAGICKCORE_QUANTUM_DEPTH=16

swift test  -Xcc -I/usr/local/include/ImageMagick-6/ -Xlinker -L/usr/local/lib/ -Xcc -DMAGICKCORE_HDRI_ENABLE=0 -Xcc -DMAGICKCORE_QUANTUM_DEPTH=16

XCode Setup

Generate XCode project using this command:

swift package -Xlinker -L/usr/local/lib/ -Xcc -DMAGICKCORE_HDRI_ENABLE=0 -Xcc -DMAGICKCORE_QUANTUM_DEPTH=16 -Xswiftc -I/usr/local/include/ImageMagick-6 -Xcc -I/usr/local/include/ImageMagick-6 generate-xcodeproj

Both -Xcc and -Xswiftc flags can be requested using Magick-config --cflags command