../

Windows7でのbuild環境構築

CueMol2のバージョンに合った環境を用いる必要がある。 ここでは、

  • CueMol 2.2.2.X (git branch vs2013test)
  • Windows7 (VS2013)
  • boost 1_57/CGAL 4.6.1

を用いた32bit versionのbuild環境構築方法を説明する。

Directory構成

基本、以下のようなdirectory構成を使用する

  • D:
    • proj
      • cuemol2 (CueMolのsource treeを展開)
      • boost (この下さらにboost_1_57以下にBoostをinstall)
      • xulrunner/xulrunner-39.0-sdk (以下にxulrunner-sdkを展開)
      • CGAL-4.6.1 (以下にCGALをinstall)
      • ...

環境変数の定義

Control panelからシステムのプロパティを開き,詳細設定の環境変数から変更する. ユーザーの環境変数に以下を追加する.

  • PROJ D:\proj (上記のdirectory構成に合わせて変更)

VisualStudio2013などのインストール

ここでは製品版を用いているが,フリー版でもできるかもしれない(ただし試していないが...)

さらに,以下のソフトウェアをインストールする.

  • ActivePerl ページ
  • ActivePython (GeckoSDKのIDL compilerで必要.Python2.7が動けば他のdistributionでも良い.)
  • Inno Setup ページ
    Inno Setupだけではなく、preprocessorというのも入れる必要がある。全てがセットになったQuickStart Pack(ispack-5.X.XX.exe等)をinstallする。下記の環境変数変更の方法と同様にしてPATHをInnoSetupをインストールしたdirectoryに通しておく必要がある.
  • Windows SDK v7.0というのもinstallしておく必要がある.
  • cygwin (command lineでgit等を使うが,他でinstallするのなら,あるいはgui版を入れるのなら不要かも)

build toolsのinstall

cuemol1.1のbuildsetを、以下からダウンロード

http://prdownloads.sourceforge.net/cuemol/cuemol-buildsetwin-1.1.0.187.zip?download

D:\proj以下に展開すると,

  • D:\proj\bin
  • D:\proj\lib
  • D:\proj\include

にいくつかファイルが展開される.ただし実際必要なのは一部で,他のCueMol1.1用のファイルで不要.

xulrunner

xulrunner-39.0b7 SDKをここから取ってくる

proj64以下に展開すると、xulrunner-sdk以下に展開されるので、xulrunner-39.0b7-sdkとrenameする。

ちなみに,将来64bit版もbuildすることを考慮して64bit版も配布されているb7 (beta 7)を使用しているが, 32bitだけでよいなら正式版でもOK (ただし以下で出てくるpathを一部変更する必要有り).

BOOSTのinstall

boost_1_57_0をここからmsvc12 32bit版を取ってきて、 D:\proj\boostで展開。

D:\proj\boost\boost_1_57_0 以下にファイルができる. 特にlibraryはlib32-msvc12.0にあることを確認.ここにあるDLLファイルを,D:\proj\binにもコピーしておく. (すべてコピーする必要はないが,選ぶのも面倒なのですべてコピーしている)

FFTW

上記のcuemol1.1のbuildsetに含まれているものを使用.

GLEW

本家からWin32 binary版をとってきて,D:\proj\glew-1.12.0以下に展開する

glew32.dllをD:\proj\binにコピー

CGAL

Installer版CGAL-4.6.1.exeをダウンロード、D:\PROJ\CGAL-4.6.1以下にinstall。

CMakeをインストールし,GUIを起動. where is source codと,where to build the binariesのところに sourceをinstallしたD:\PROJ\CGAL-4.6.1を指定する.

GUIのdialogが現れる。以下のmacroを定義する。

  • BOOST_ROOT D:\boost\boost_1_57_0
  • BOOST_LIBRARYDIR D:\boost\boost_1_57_0\lib32-msvc-12.0
  • CGAL_DISABLE_GMP true
    (GMP/MPRFを使用しないように指定)
  • (CMAKE_INSTALL_PREFIXは指定しなくてもOK)

一旦Configureを実行→いろいろ出てくる 不要な物(CGAL_ImageIO, CGAL_Qt4, CGAL_Qt3)はbuildしないようにcheckを外す

native compiler用のVS2013 solution fileを生成

GUIを終了させ、出来たslnファイルをVS2013から開き,Debug, Release版をbuildする.

D:\PROJ\CGAL-4.6.1\binに,DLLファイルが出来るので,これをD:\PROJ\BINにもコピーしておく.

CueMol2のbuild方法

以上でbuild環境は整ったはず。

プロジェクトの設定とビルド

  1. VS.NETでc:\proj\cuemol2\winbuild\cuemol.slnを開く

VisualStudio2013のIDEからの実行

  • Build完了後に、xuldeployプロジェクトのみ再ビルドしたほうが良い。
  • stubプロジェクトを、スタートアッププロジェクトに設定する。
  • stubプロジェクトのプロパティーの、デバッグ項目で、コマンド引数に以下を追加する。
     -greapp <xulrunnerのbinディレクトリ> $(XULDeployDir)

以上で、xulrunnerのbinディレクトリは、xulrunner SDKのものを用いるなら、

 -greapp $(XULRunnerDir)\bin $(XULDeployDir)

を指定すればよい。xulrunnerやmozilla内部もdebugしたい場合は、debug buildのxulrunnerがあるbin directoryを指定する。

★注意

実行してもwindowも何も表示されずに停止してしまう場合がある(実際何度か遭遇して困ったこと有り).その場合は,大概cuemol2.jarが出来ていなくて,main windowのxulがloadできないのが原因.jarが出来ないのは,pathが通ったところにzip.exeがない場合(新規システムでbuildする場合に陥ることが多いケース)で,jarを作るperl scriptがzip.exeを呼び出しているから.zip.exeをpathが通っているところに持って来ればjarが正常に作られるはず.

Version番号を増加

srcディレクトリ下で,

 > perl perl/incr_version.pl version.hpp xul_gui/application.ini

以上を実行.(Linux, Macでも同様)

  • master以外のbranchではやらないこと.(不要にconflictが起こる)

Last-modified: Fri, 11 Sep 2015 14:44:11 JST (3323d)