このブログはLazarus(FreePascal)アドベントカレンダー14日目の記事です。
たとえばリリースパッケージを作りたいときなど、Lazarusのコンパイル以外にも複数の処理を行ないたいのでIDE以外からコンパイル操作を行いたい ということはときどきあります。
そのようなときに、Lazarusのビルド処理だけを行なうツールとして、Lazarusにはlazbuild
というツールが存在します。
Lazbuild
の在処と使い方
このツールは、Lazarusをインストールしたディレクトリにあります。
このツールに、Lazarusのプロジェクトファイル(*.lpi)を指定すると、コンパイル処理が走って、ファイルで定義した場所に実行ファイルが出力されます。
このパスをヒント無しで探したい場合…。レジストリのインストール時情報にパスに書き込まれているので、そこから読み取るくらいでしょうか・・・*1。
LazBuildでいつもと違う構築モードのコンパイルを行なう
このlazbuild
には、--build-mode
というオプションがあり、これを指定すれば、構築モードを切り替えてのコンパイルも可能。
たとえば普段のコンパイルでは構築モード「Debug」を使っているが、このときは「Release」を使いたい という場合はlazbuild .\application.lpi --build-mode=Release
などというコードを書いておけばOKです。
なお、この処理を行なうと*.lpsファイルが書き換えられてアクティブな構築モードが「Release」に変わってしまうので、それが気になる場合は、--no-write-project
オプションを加えます。
ビルドスクリプトを書く
また、同梱物がほかにもある場合は、コンパイル用のスクリプトを作っておくと良いです。
ZIPファイルにまとめる場合など、PowerShellを使っても良いですが、Pythonあたりで作って置くとバンバン呼び出せて良いですね。
lpiファイルはXMLファイルなので、Pythonからいじりたい場合はxml.etree.ElementTree
あたりを使うとよいでしょう。
ただし、xml.etree.ElementTree#write
で作成できるXMLはLazarusが出力するlpiファイルとは若干書式が異なるのでご注意ください*2。