gbarrand/MEMPHYS_vis
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
IMPORTANT : if building from a git clone of
https://github.com/gbarrand/MEMPHYS_vis.git
before building you have to bring the file : g4ndl_4_5.zip from the release area and deposit it under:
MEMPHYS_vis/MEMPHYS_vis/comres
You may try the URL:
https://github.com/gbarrand/MEMPHYS_vis/releases/download/12.0.0/g4ndl_4_5.zip
It appears that this file exceeds the 100 Mbytes limit of github and can't go in the repository, but it
is definitely needed to run the app and have to go also in the built distribution zip files. Then be sure
to have it in comres before building.
///////////////////////////////////////////////////////////////////////////////////////////////////////
/// build by using the default inexlib/ourex/geant4 : /////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
To build :
UNIX> cd <app>/mgr
UNIX> ./build # Cocoa version on macOS, X11 on Linux, X11 under Windows-10/WSL and
# win32 from a Windows-10/cygwin bash prompt.
( UNIX> ./build -v)
macOS> ./build -x11 -bin_x11 # to build the X11 version if being on macOS.
UNIX> ./build -offscreen -bin_offscreen
cygwin> ./build -gnu -x11 # to build under Windows-10/cygwin by using the cygwin g++
# and cygwin X11 client environment.
(here UNIX is for Linux, macOS, Windows-10/cygwin, Windows-10/WSL)
For Windows-10/win32, the build bush scripts assumes that VisualC++ had been "source setup".
See the softinex portal/bush/Prerequisites/Windows-10 section for more.
If the GNU parallel application is known from your prompt, you can use the "-parallel"
option so that C and C++ file compilations are distributed on your cores. This feature
had been tested with success on macOS with a MacPorts installation of the GNU parallel program
and on centos7 by using the GNU distribution. Since good part of the code of our
apps is pure header, it will not boost the "main" part of them, but it clearly boosts the
build of the ourex externals, in particular if using some ourex/geant4<versio> one.
At end, you should have a distribution file :
bin_<config>/distrib/<app>-<version>-<platform>.zip
To run :
UNIX> cd <app>/mgr
the offscreen version :
UNIX> ./bin_offscreen/distrib/<app>/<version>/bin/<app>
the OSX Cocoa version :
macOS> open ./bin_sdk_mac/distrib/<app>/<version>/<app>.app
the OSX X11 version :
macOS> ./bin_x11/distrib/<app>/<version>/bin/<app>
the Linux X11 version :
Linux> ./bin_gnu/distrib/<app>/<version>/bin/<app>
the Windows win32 version :
cygwin> ./bin_visual/distrib/<app>/<version>/bin/<app>.exe
See the <app> section on http://gbarrand.github.io for more.
///////////////////////////////////////////////////////////////////////////////////////////////////////
/// For apps related to geant4 (g4exa, g4view, MEMPHYS, MEMPHYS_vis) : ////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
The packing comes with a inexlib/ourex/geant4<version> in sync with the code of the app, and the build
can proceed by using the upper commands, but you may want to build the app by using an already installed
geant4. As our distribution packing (done with bush/app_distrib) does not handle (yet) shared libraries,
you must have a geant4 built with archive libs (<geant4_install_dir>/[lib,lib64]/libG4FR.a, etc...).
If not, a below "build -sys_geant4" will stop. (The check for geant4 archives is done by
bush/use/geant4<version>). We remember that to have archive libraries for geant4, you have to build
it with the cmake option "-DBUILD_STATIC_LIBS=ON" (and "-DBUILD_SHARED_LIBS=ON" to have also shared libs).
Then to build the app distribution :
UNIX> cd <app>/mgr
sh> . <geant4_install_dir>/bin/geant4.sh
( csh> source <geant4_install_dir>/bin/geant4.csh )
UNIX> geant4-config # to test that this program is here.
Linux> <if needed source setup a gcc_[version].[sh,csh] file to have the correct g++>
( csh> source gcc_493.csh # on Lund iridium )
UNIX> ./build -sys_geant4 # -sys_geant4 to use the geant4 pointed by geant4-config.
( UNIX> ./build -sys_geant4 -v # to see built files.)
( UNIX> ./build -sys_geant4 -x # for a full trace.)
macOS> ./build -sys_geant4 -x11 -bin_x11 # to build the X11 version on macOS.
At end, you should have a distribution file :
bin_<config>/distrib/<app>-<version>-<platform>.zip
WARNING, WARNING, WARNING, WARNING, WARNING, WARNING, WARNING, WARNING, WARNING :
If running from the build area by having done the "source geant4 setup", be sure that the
environment variables : G4NEUTRONHPDATA, G4LEDATA, G4LEVELGAMMADATA, G4ENSDFSTATEDATA, G4SAIDXSDATA
points to valid Geant4 data directories. If not, you are going to have crashes at startup.
The best, if building by using an installed geant4 (a "sys_geant4"), is to run the app from
a brand new shell.
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////