Theolizer  Version.1.2.0
serializer for C++ / Do you want to update your classes easily ?
Theolizerの組み込み方とファイル構成


1.Theolizerライブラリの選択


Theolizerは下記ライブラリを用意しています。

リンク種別名 Theolizer boost 標準
ランタイム
お薦めの選択
StaticWithBoost静的リンク静的リンク(同梱)動的リンクあなたのプログラムがboostを使っていない時
Static静的リンク静的リンク(非同梱)動的リンクあなたのプログラムがboostを使っている時 (*1)
Shared動的リンク静的リンク動的リンクあなたのプログラムがboostを使っていて
Theolizerライブラリのビルドを避けたい時 (*2)

(*1) お使いのboostのバージョンがTholizerのboostのバージョンと異なる場合、Theolizerライブラリのビルドが必要になります。
(*2) Theolizerの動的リンク・ライブラリをパスの通ったフォルダへ置いて下さい

StaticとSharedは、それぞれ通常の静的リンク・ライブラリ、動的リンク・ライブラリです。

Theolizerはboostのsystemとfilesystemを用いているため、Theolizerを静的リンクする場合は、これらのライブラリをあなたのプロジェクトでリンクする必要が有ります。boostを既にお使いの方ならばあまり問題はないと思いますが、そうでない方にとってはboostのインストールと一部のビルドが新たに必要となります。
その手間を省くため、プリビルド版の静的リンク・ライブラリとしてboostを同梱したライブラリも用意しました。それがStaticWithBoostです。


2.CMakeを使う場合


あなたのプロジェクトのCMakeLists.txtに下記を追加して下さい。

project(<あなたのプロジェクト名>)
  :
find_package(THEOLIZER)
  :
add_executable(<ターゲット名>)
  or
add_library(<ターゲット名>)
  :
setup_theolizer(<ターゲット名> <リンク種別>)

<ターゲット名>はTheolizerライブラリをリンクするあなたのプログラムを指定します。 add_executable()やadd_library()のターゲット名です。

<リンク種別>はリンクするTheolizerライブラリの種別を指定します。 StaticWithBoost、Static、Sharedのどれかを指定して下さい。

CMakeLists.txt作成後、THEOLIZER_DIRに Theolizerルート・フォルダ を設定し、CMakeでプロジェクトを生成して下さい。


3.exampleのビルド例(CMake使用)


TheolizerのGitHubリポジトリのトップ・ページにあるexampleのソース・コードとCMakeLists.txtを source/samples/example に置いています。これは「2.CMakeを使う場合」のサンプルとなります。
適切なビルド・フォルダを作成して、そこで下記コマンドを実行することで、プロジェクト生成→ビルド→テスト実行が行われます。

全てsource/samples/exampleフォルダで作業して下さい。
なお、下記は全てReleaseビルドの例です。Debugビルドする時は、Releaseの代わりにDebugを指定して下さい。

Visual Studio 2015(32bits版)の場合

mkdir msvc32
cd msvc32
cmake -G "Visual Studio 14" .. -DTHEOLIZER_DIR=<Theolizerルート・フォルダ>
cmake --build . --config Release --target BuildTest

Visual Studio 2015(64bits版)の場合

mkdir msvc64
cd msvc64
cmake -G "Visual Studio 14 Win64" .. -DTHEOLIZER_DIR=<Theolizerルート・フォルダ>
cmake --build . --config Release --target BuildTest

MiGWの場合(事前にMinGWへのパスを設定下さい)

mkdir mingw
cd mingw
cmake -G "MinGW Makefiles" .. -DTHEOLIZER_DIR=<Theolizerルート・フォルダ> -DCMAKE_BUILD_TYPE=Release
make BuildTest

gcc(Linux)の場合

mkdir gcc
cd gcc
cmake -G "Unix Makefiles" .. -DTHEOLIZER_DIR=<Theolizerルート・フォルダ> -DCMAKE_BUILD_TYPE=Release
make BuildTest


4.CMakeを使わない場合


4-3.Theolizerドライバが割り込む仕組み 」にて仕組み記述しています。また「5.ファイル構成 」に<Theolizerルート・フォルダ>からのフォルダ構成を記載しています。これらを参考に下記をビルド・プロジェクトへ設定下さい。

コンパイラ・オプション指定内容
コンパイラTheolizerルート・フォルダ/bin/TheolizerDriver
インクルード・パスTheolizerルート・フォルダ/include
ライブラリ・パスTheolizerルート・フォルダ/lib
ライブラリ・ファイル1.Theolizerライブラリの選択 」で選択したライブラリ。
ファイル名は「5.ファイル構成 」参照。
マクロ定義THEOLIZER_DO_PROCESS
マクロ定義(Visual C++の場合)theolizer_original_compiler=<元コンパイラのパス>
オプション指定(その他の場合)--theolizer_original_compiler=<元コンパイラのパス>
Sharedの場合は追加マクロ定義THEOLIZER_DYN_LINK


5.ファイル構成


Theolizerルート・フォルダからの相対パスにて各ファイルが存在する場所を示します。

Visual Studio C++

相対パスファイル種別ファイル名
ルートcmakeのfind_package用
Theolizerのライセンス(GPLv3)
THEOLIZERConfig.cmake,theolizer.props.in
LICENSE.TXT
binTheolizerドライパTheolizerDriver.exe
include/theolizerヘッダ・ファイル群*.h, *.inc
libStaticWithBoost(Release)ライブラリTheolizerLibStaticWithBoost.lib
Static(Release)ライブラリTheolizerLibStatic.lib
Shared(Release)ライブラリTheolizerLibShared.dll
StaticWithBoost(Debug)ライブラリTheolizerLibStaticWithBoostd.lib
Static(Debug)ライブラリTheolizerLibStaticd.lib
Shared(Debug)ライブラリTheolizerLibSharedd.dll
msbuild-binTheolizerドライパをリネームしたファイルcl.exe
other_licensesTheolizerにリンクしている他プロジェクトのライセンスLICENSE-*.txt

注)インクルード・パスは、include/theolizerではなく、includeを指定して下さい。

下記は各種補助ファイル群です。

相対パスファイル種別ファイル名
doc/ja詳細ドキュメントindex.html, html/*.*
libStaticWithBoost(Release)テスト用ライブラリTheolizerTestStaticWithBoost.lib
Static(Release)テスト用ライブラリTheolizerTestStatic.lib
Shared(Release)テスト用ライブラリTheolizerTestShared.dll
StaticWithBoost(Debug)テスト用ライブラリTheolizerTestStaticWithBoostd.lib
Static(Debug)テスト用ライブラリTheolizerTestStaticd.lib
Shared(Debug)テスト用ライブラリTheolizerTestSharedd.dll
samplesサンプル・プログラムCMakeLists.txt, *.cpp, *.h

注)テスト用ライブラリは、Theolizerの自動テストで使用しているライブラリです。

MinGWとgcc

相対パスファイル種別ファイル名
ルートcmakeのfind_package用
Theolizerのライセンス(GPLv3)
THEOLIZERConfig.cmake
LICENSE.TXT
binTheolizerドライパTheolizerDriver.exe
include/theolizerヘッダ・ファイル群*.h, *.inc
lib/RelaseStaticWithBoost(Release)ライブラリlibTheolizerLibStaticWithBoost.a
Static(Release)ライブラリlibTheolizerLibStatic.a
Shared(Release)ライブラリlibTheolizerLibShared.so
lib/DebugStaticWithBoost(Debug)ライブラリlibTheolizerLibStaticWithBoost.a
Static(Debug)ライブラリlibTheolizerLibStatic.a
Shared(Debug)ライブラリlibTheolizerLibShared.so
other_licensesTheolizerにリンクしている他プロジェクトのライセンスLICENSE-*.txt

注)インクルード・パスは、include/theolizerではなく、includeを指定して下さい。

下記は各種補助ファイル群です。

相対パスファイル種別ファイル名
doc/ja詳細ドキュメントindex.html, html/*.*
lib/RelaseStaticWithBoost(Release)テスト用ライブラリlibTheolizerTestStaticWithBoost.a
Static(Release)テスト用ライブラリlibTheolizerTestStatic.a
Shared(Release)テスト用ライブラリlibTheolizerTestShared.so
lib/DebugStaticWithBoost(Debug)テスト用ライブラリlibTheolizerTestStaticWithBoost.a
Static(Debug)テスト用ライブラリlibTheolizerTestStatic.a
Shared(Debug)テスト用ライブラリlibTheolizerTestShared.so
samplesサンプル・プログラムCMakeLists.txt, *.cpp, *.h

注)テスト用ライブラリは、Theolizerの自動テストで使用しているライブラリです。