Hatena::ブログ(Diary)

kithisの日記

2018-11-06

[Geant4][Linux]CentOS7 での Geant4.10.04.p02 構築

2年ぶりくらいに Linux 環境にもどってきました。
CERNはScientificLinuxをやめて、CentOSを推奨してるようですが、Geant4.10.04.p02 では、要求されるCMakeのバージョンが、CentOS7標準のものより高いので、このままでは使えない。
CMake のダウンロードサイト https://cmake.org/download/ にいって、Linux用のバイナリtar.gz ファイルをダウンロード
https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.tar.gz
これを適当に解凍して
解凍フォルダ/cmake-3.12.3-Linux-x86_64/bin/cmake
というファイル使えばよいです。

$ 解凍フォルダ/cmake-3.12.3-Linux-x86_64/bin/cmake -DCMAKE_INSTALL_PREFIX=インストールするフォルダ geant4の解答フォルダ

という感じで CMake できます。
あとは

$make
$make install

2016-03-15

NuGet で Visual Studio に ROOT を組み込む。

Visual Studio に NuGet をインストールしておくと、「ツール」メニューの NuGet パッケージ管理で、ROOT を検索すると ROOT.NET が見つかるので、それっぽいのをインストール
そうすると、コード内で

NTH1F h = new ROOTNET.NTH1F("hi", "dude", 100, 0.0, 10.0);

などと書けばOK。

2012-05-02

ROOT を CMake でビルド。

Geant4 が CMake を使いましょう、というのであれば、ROOT も CMake でビルドしておくと、CMake が自動でライブラリを探してくれるので、楽になります。
とりあえず、WindowsVisual Studio 10 でビルドしてみた。以下、その時の手順。

ROOT の source を http://root.cern.ch/drupal/content/downloading-root とかから持ってきて(ここでの例は Product version 5.32/01)こんな感じのディレクトリ構造を作った。

ソース C:\Users\kitamura\Documents\root\root_v5.32.01.source\root
ビルド用 C:\Users\kitamura\Documents\root\root_v5.32.01.build
インストール用 C:\Users\kitamura\Documents\root\root_v5.32.01.install


で、cmake-gui で source code と build the binary のところを上記のようにして、Configure。
すると、使えるライブラリを勝手にチェックしてくれる。とりあえず、 BONJOURORACLE に関しては見なかったことにして先にすすめて、CMAKE_INSTALL_PREFIX として、上記のインストールディレクトリを指定しておいて、再度 Configure して、Generate する。

ビルド用のディレクトリには ROOT.sln が出来上がっているので、これを実行すると、Visual Studio が立ち上がる(Express edition だと、なんかいろいろメッセージがでますが、先に進めてしまって大丈夫みたい)。ソリューションエクスプローラーにでている ALL_BUILD をビルドする(右クリックで出てくるポップアップで「ビルド」を選択)と、ライブラリや実行ファイルなどがコンパイルされる。

ビルドが正常終了したら、同じくソリューションエクスプローラにある「CmakePredefinedTargets」の下にある「Install」をビルドすると、CMAKE_INSTALL_PREFIX で指定したディレクトリに、ライブラリやらばいなりやらなんやらかんやらがインストールされる。で、このディレクトリ環境変数 ROOTSYS として設定しておく。

2012-04-20

Windows で書く Geant4(.9.5) アプリ (CMakeを使ったVisual Studio 用のファイルの作成)

Geant4.9.5 から CMake という魔法を使うようになったので、Windows 上で Visual Studio を使ってアプリの開発をしてみることにした。
geant4.9.5 のソースにある examples\novice なんかには CMakeLists.txt という cmake のための設定ファイルがあるので、それをいじれば、ライブラリを作ったときと同様 cmake-gui を使って visual studio の設定ファイルなんかが作成できる。
とりあえず、CMakeLists.txt のちょっとカスタマイズ版を以下に張っておきます。2行目の "template" というのが実行ファイル名になるのと、3行目の main.cc が main() 関数のあるファイルの名称なので、その2点を修正してください。

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
set(name template)
set(mymain main.cc )
set(myexe ${name})
set(myproj ${name}_proj) # any name as long as it is different from myexe
project(${myproj})
#----------------------------------------------------------------------------
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
include(${Geant4_USE_FILE})
include_directories(${PROJECT_SOURCE_DIR}/include)
#----------------------------------------------------------------------------
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
#----------------------------------------------------------------------------
add_executable(${myexe} ${mymain} ${sources} ${headers})
target_link_libraries(${myexe} ${Geant4_LIBRARIES})
#----------------------------------------------------------------------------
add_custom_target(${myproj} DEPENDS ${myexe})
#----------------------------------------------------------------------------
install(TARGETS ${myexe} DESTINATION bin)


以下のようなディレクトリ構造があるとして、

C:\Users\kithis\Documents\geant4\geant4.9.5-build →geant4 をビルドしたディレクトリ
C:\Users\kithis\Documents\geant4\geant4.9.5-install →geant4 をインストールしたディレクトリ
C:\Users\kithis\Documents\geant4\template → コードがあるディレクトリ
C:\Users\kithis\Documents\geant4\template\build → 開発環境用のファイルがおかれるディレクトリ


cmake-gui を起動して、"Where is the source code" に C:/Users/kithis/Documents/geant4/template、"Where to build the binary" に C:/Users/kithis/Documents/geant4/template/build 入力して、Configure ボタンを押す。出てくるポップアップVisual Studio 10 を選ぶと、パラメータがチェックされて、

CMAKE_INSTALL_PREFIX C:/Program Files/template_proj
Geant4_Dir C:/Users/kithis/Documents/geant4/geant4.9.5-install/lib/Geant4-9.5.0
WITH_GEANT4_UIVIS ☑

のような値が赤バックで表示される。"CMAKE_INSTALL_PREFIX" と "WITH_GEANT4_UIVIS" に関しては好きなように設定でかまわないが、Geant4_Dir に関しては Geant4 を install したディレクトリ以下のの lib/Geant4-?.?.? を指定しておく必要がある。そのフォルダの Geant4Config.cmake というファイルを CMake が見に行く。たまに、geant4のビルドディレクトリが設定されることがあるが、インストールディレクトリにしておくのが正しそう。
設定を終えるて、再度 Configure ボタンを押すと、問題がなければ赤バックが白バックに変わる。まだ、赤ければ、再度、設定を確かめる必要がある。

パラメータが白バックになった状態で、Generate ボタンを押すと、C:\Users\kithis\Documents\geant4\template\build 以下に、Visual Studio 用のファイルが生成されている。

2012-03-22

Geant4.9.5 on Windows その2

Geant4.9.5 on Windows - kithisの日記の訂正と補足。


data は、CMake の時にチェックを付けると自動的にインストールされる。

ビルドができたら、環境変数 PATH に %G4INSTALL%\bin を足しておく必要がある。また、data をつかうならこれも環境変数に登録しておく必要がある。

G4DATADIR %G4INSTALL%\share\Geant4-9.5.0\data
G4LEDATA %G4DATADIOR%\G4EMLOW6.23
G4NEUTRONHPDATA %G4DATADIOR%\G4NDL.4.0
G4LEVELGAMMADATA%G4DATADIOR%\PhotonEvaporation2.2
G4RADIOACTIVEDATA %G4DATADIOR%\G4RadiativeDecay3.4

こんなかんじ