non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

ChocolateyでImageMagickをヘッダ、Libファイルとレガシーコマンドも一緒に入れるには

おはようございます。最近長男はすっかり習慣となりつつある、夕食後のドリルの時間ですが、次男も途中からは参加するようになってきました。@kjunichiです。

背景

ImageMagickをライブラリとして利用するWindowsのコードを書いていて、 CIを導入したくなった。chocolateyがAppvoyerでは使えることを知っていたので、 今回もこれを使ってImageMagickを入れてCI出来るように試みた。

cinstでImagemagickのヘッダーとlibを入れるには

普通に

cinst imagemagick.app

では駄目、.appなしのimagemagickパッケージならいけるかと思い、

cinst imagemagick

しかし、こちらも変わらず、ヘッダが無いよエラー。

解決法

cinst時に「-PackageParameters InstallDevelopmentHeaders=true」を指定することで、ヘッダとlibファイルも インストールされるようになった。

cinst imagemagick.app -PackageParameters InstallDevelopmentHeaders=true

v7系のImageMagickではconvertコマンドなどが無くなった!?

v7からはconvertなどのコマンドはmagickコマンドに変わるらしく、こちらは cinst時に「-PackageParameters LegacySupport=true」を指定することで、v6で使えていたコマンド達がインストールされた。

解決法

cinst imagemagick.app -PackageParameters LegacySupport=true

これら2つのオプションを指定するには

試しに2つそのまま並べて

-PackageParameters InstallDevelopmentHeaders=true -PackageParameters InstallDevelopmentHeaders=true LegacySupport=true

としてみたが、ダメ。

試行錯誤の末、以下の様にダブルクォートでオプションを囲むことで複数指定ができる模様。

cinst imagemagick.app -PackageParameters "InstallDevelopmentHeaders=true LegacySupport=true"

まとめ

実は、今回mruby-mrmagickAppVeyorでCI出来るようにしようと 試行錯誤していた。

が、いまのところ、どうもAppveyor上ではmruby-mrmagickのテストが異常終了して しまう模様。

その為、cinstでレガシーオプションを有効にして入れたImagemagickのconvert等の コマンドがAppvoyerで動かされることは無かった。。

手元で確認する限り、普通には使えるバイナリが出来てはいるので、 とりあえず、Githubリポジトリにはバッジを付けることを優先することにした。

参考資料

関連記事