付録 B. ビルド

目次

ビルド方法
qmake
CMake
RPM
ebuild
静的ビルド

コンパイルに必要なものは以下の通りです。

Qt ライブラリについては使用している OS に対応するものをダウンロードしてください。Linux の場合は Qt/X11 です。Open Source Edition は以下からダウンロードできます。なお、Qt ライブラリはバージョン4で大幅な変更が加えられ、Qt3 と Qt4 との間にソース互換性がないため、Qt3 ではコンパイルできません。

以下では開発パッケージがインストールされていることを前提として話を進めます。

ビルドする方法は4種類用意されています。

ビルド方法

qmake

このセクションの方法は Cueplot が対応するすべての環境で行えます。

  1. cd

    tarball を展開したら、cueplot.pro ファイルが含まれているディレクトリにカレントディレクトリを移動します。ただし、x.y.z はバージョン番号です。

    $ cd src

  2. cueplot.pro の編集(Mac OS X のみ)

    Mac OS X では cueplot.pro を編集してください。具体的には cueplot.proTARGET を変えます。

    TARGET = cueplot

    とあるのを、以下のように変更してください。

    TARGET = Cueplot

  3. qmake

    次に、qmake コマンドを実行します。

    $ qmake

    ただし、ICC(Intel 製のコンパイラ)などデフォルトのコンパイラ以外でコンパイルする場合は qmake コマンドの -spec オプションでそのコンパイラ用ディレクトリを指定してください。

    $ qmake -spec /usr/share/qt4/mkspecs/linux-icc/

    注意

    Qt3.x がインストールされている環境では、ソースコードをコンパイルしようとしても Qt3.x のライブラリやコマンドが使われてしまい、コンパイルできないことがあります。この場合は環境変数を変えるとコンパイルできると思います。Red Hat Enterprise Linux などの場合は qmake の代わりに qmake-qt4 を使ってください。

  4. make

    そして、make と入力するとコンパイルが始まるはずです。

    $ make

    コンパイルすると実行可能ファイルが生成されます。ファイル(Mac OS X の場合はディレクトリ)の名前は以下に示す通りです。

    表 B.1. 実行可能ファイル名

    OSファイル名
    Linuxcueplot
    Mac OS XCueplot.app
    Windowscueplot.exe

    Cueplot の動作に最低限必要なのはこれだけです。

    注意

    ソースファイルの改行コードは LF(Unix 形式)です。使用しているコンパイラが対応していなければ改行コードの変換を行ってください。

  5. ts ファイルの書き換え(Mac OS X のみ)

    Mac OS X の場合、ts ファイルを書き換えて、書き換えた ts ファイルから生成された qm ファイルを Cueplot.app/Contents/MacOS ディレクトリ内に置いてください。これを自動化するシェルスクリプトは以下の通りです。

    		#!/bin/sh
    		
    		for file in *.ts
    		do
    		    sed 's/(&[[:upper:]])//' $file > tmp && mv -f tmp $file
    		done
    		lrelease *.ts
    		mv *.qm Cueplot.app/Contents/MacOS
    						

    上記のシェルスクリプトはレポジトリにあります。このスクリプトが行う処理は以下の通りです。

    • カレントディレクトリ内の ts ファイル中の「&大文字一文字」を削除(3-6 行目)

    • 編集した ts ファイルから qm ファイルを生成(7 行目)

    • qm ファイルを Cueplot.app/Contents/MacOS に移動(8 行目)

    ts ファイルを書き換えないと、メニューやボタンで「ファイル(F)」「追加(A)」などと表示されます。

  6. lrelease

    lrelease コマンドで ts ファイルから qm ファイルを生成してください。qm ファイルは翻訳ファイルです。このファイルがないと日本語環境でもメニュー等が英語で表示されます。ファイルを実行可能ファイルと同じディレクトリ内に置いてください。Mac OS X の場合は、Cueplot.app/Contents/MacOS にファイル Cueplot があります。

    $ lrelease *.ts

    Qt 4.3 以降に含まれている qt_ja_jp.ts では "Open" に対する訳語が「オープン」になっています。レポジトリ上にある qt_ja_JP.ts では訳語を「開く」に変えてあります。

    注意

    上記で qmake-qt4 を使った人は lrelease の代わりに lrelease-qt4 を使ってください。

  7. strip(Unix 系 OS のみ)

    strip コマンドで実行可能ファイルのサイズを小さくできます。

    Linux の場合

    $ strip cueplot

    Mac OS X の場合

    $ strip Cueplot.app/Contents/MacOS/Cueplot

もしこちらで動作確認している環境以外でコンパイルして動作しなければ以下のファイルを修正してみてください。

CMake

試験的にバージョン 0.0.5 から CMake を導入しました。ビルドとインストールの成功を確認しているのは以下の環境です。

  • Linux の共有ビルド

  • Mac OS X の静的ビルド

今のところ Windows の静的ビルドではリンクに失敗します。

  1. cmake

    CMakeLists.txt のあるディレクトリのうち上位にあるディレクトリで cmake コマンドを実行します。cmake コマンドには ./configure のような役割があります。

    cmake コマンドの実行例は以下の通りです。

    例 B.1. Linux における cmake

    $ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBIN_INSTALL_DIR=/usr/bin -DLIB_INSTALL_DIR=/usr/lib


    例 B.2. Mac OS X における cmake

    $ cmake -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DBIN_INSTALL_DIR=/Applications


    代表的なオプションは以下の通りです。

    表 B.2. CMake オプション

    変数名意味
    CMAKE_INSTALL_PREFIXインストール先のベースディレクトリ/usr, /usr/local
    CMAKE_BUILD_TYPEビルドの種類Release, Debug
    BIN_INSTALL_DIR実行可能ファイル等のインストール先。指定しなければ、Linux では CMAKE_INSTALL_PREFIX 内の bin ディレクトリで、Mac OS X では CMAKE_INSTALL_PREFIX 内の Applications ディレクトリ/usr/bin, /usr/local/bin, /Applications
    LIB_INSTALL_DIRライブラリ等のインストール先。指定しなければ、CMAKE_INSTALL_PREFIX 内の lib ディレクトリ。Mac OS X では使われない。/usr/lib, /usr/local/lib

    このうち、CMake であらかじめ定義されているのは CMAKE_ で始まる変数のみです。

  2. make

    $ make

  3. make install

    $ make install

    Linux では以下のファイルがインストールされます。

    • ${BIN_INSTALL_DIR}/cueplot${LIB_INSTALL_DIR}/cueplot/cueplot へのシンボリックリンク)

    • ${LIB_INSTALL_DIR}/cueplot/cueplot

    • ${LIB_INSTALL_DIR}/cueplot/cueplot_ja_JP.qm

    • ${LIB_INSTALL_DIR}/cueplot/qt_ja_JP.qm

    Mac OS X では以下のディレクトリがインストールされます。

    • ${BIN_INSTALL_DIR}/Cueplot.app

    ここで ${BIN_INSTALL_DIR}${LIB_INSTALL_DIR} はそれぞれ cmake コマンドのオプションで指定した BIN_INSTALL_DIRLIB_INSTALL_DIR の値です。

  4. strip

    strip コマンドについては qmake のセクションにおける解説を参照してください。

RPM

RHEL のような rpm 系 Linux ならば、アップロードされている SRPM から容易に RPM を作れます。

$ rpmbuild --rebuild cueplot-x.y.z-n.src.rpm

作成される RPM をインストールすると i386 環境では以下のファイルがインストールされます。

  • /usr/bin/cueplot/usr/lib/cueplot/cueplot へのシンボリックリンク)

  • /usr/lib/cueplot/cueplot

  • /usr/lib/cueplot/cueplot_ja_JP.qm

  • /usr/lib/cueplot/qt_ja_JP.qm

  • /usr/share/applications/cueplot.desktop

KDE や GNOME などならばメニューに Cueplot が追加されます。また、コンソールからも起動できるようになります。

$ cueplot

-style オプションで look and feel を指定できます。

$ cueplot -style cde

-style オプションで指定できる値には cde の他に cleanlooks、motif や windows があります。cleanlooks は Qt 4.2 以降で利用できます。

ebuild

Gentoo Linux で使える ebuild もアップロードされています。

ebuild では LINGUAS 変数で "ja"(日本語)が設定されているときのみ cueplot_ja_JP.qm がインストールされます。また、qt_ja_JP.qm がインストールされるのは Qt 4.3 よりも前のバージョンしかインストールされていないときです。

インストールされるファイルや起動方法などについては RPM のセクションを参照してください。