source: MEMPHYS/HEAD/cmt/requirements @ 189

Last change on this file since 189 was 189, checked in by barrand, 18 years ago

G.Barrand : material to declare AIDA to ROOTCINT

File size: 5.1 KB
Line 
1package MEMPHYS
2version v7r0
3
4#use OpenScientist du 28/03/2006 Slash/BatchLab/OnXLab
5#message from COIN to use full OpenGL
6set COIN_FULL_INDIRECT_RENDERING "1"
7
8
9branches run
10
11#//////////////////////////////////////////////////
12#/// Uses needed to build this package ////////////
13#//////////////////////////////////////////////////
14
15#use ROOT v4r* -no_auto_imports
16
17use G4Lab v8r*
18
19use OnXLab v1r*
20
21#//////////////////////////////////////////////////
22#/// Over Geant4 kernel and AIDA interfaces only //
23#//////////////////////////////////////////////////
24
25build_strategy no_prototypes
26include_path none
27
28include_dirs $(MEMPHYSROOT)
29
30
31application test -group=debug -s=../source test.cxx
32
33# Over Geant4 and AIDA only :
34library MEMPHYSCore ${G4Lab_libopts} -s=../source *.cxx
35
36#JEC 17/11/05 add the G4readout_incs to manage G4DigiManager
37macro MEMPHYSCore_cppflags "${G4Lab_Geant4_incs} ${G4readout_incs} ${G4particles_incs} ${G4processes_incs}"
38macro MEMPHYSCore_shlibflags "${G4Lab_Geant4_linkopts} ${LibCore_linkopts} ${dld_linkopts} ${cxxstd_linkopts}"
39macro MEMPHYSCore_linkopts "-L${MEMPHYSROOT}/$(Platform_bin) -lMEMPHYSCore" WIN32 "${MEMPHYSROOT}\$(Platform_bin)\MEMPHYSCore.lib"
40
41#//////////////////////////////////////////////////
42#/// DLD callbacks ////////////////////////////////
43#//////////////////////////////////////////////////
44
45# Must not use Geant4 singletons if having not Geant4 shared libs.
46macro MEMPHYS_kind "dll"
47library MEMPHYS -import=OpenInventor -s=../source/Callbacks Callbacks.cxx InventorCallbacks.cxx
48macro MEMPHYS_cppflags "${G4Lab_Geant4_incs}"
49macro MEMPHYS_shlibflags "${LibCore_linkopts} ${HEPVisPlotter_linkopts} ${HEPVisDetector_linkopts} ${HEPVisGeometry_linkopts} ${HEPVisUtils_linkopts} ${freetype_linkopts} ${jpeg_linkopts} ${dvi2bitmap_linkopts} ${OpenInventor_linkopts} ${OpenGL_linkopts} ${Xext_linkopts} ${X11_linkopts} ${dld_linkopts} ${cxxstd_linkopts}"
50
51#//////////////////////////////////////////////////
52#/// Application "a la Geant4 examples" ///////////
53#//////////////////////////////////////////////////
54
55# Over Geant4 and AIDA only :
56application MEMPHYS_batch -import=expat ../applications/MEMPHYS_batch.cxx use_linkopts='"${MEMPHYSCore_linkopts} ${G4physics_lists_hadronic_linkopts} ${G4Lab_Geant4_linkopts} ${aida_config_libs} ${LibCore_linkopts} ${math_linkopts} ${dld_linkopts}"'
57macro MEMPHYS_batch_cppflags "${MEMPHYSCore_cppflags} ${G4physics_lists_hadronic_incs}"
58
59# Over AIDA only :
60application MEMPHYS_analysis ../applications/MEMPHYS_analysis.cxx use_linkopts='"$(aida_config_libs)"'
61
62# Over G4Lab :
63application MEMPHYS_session -import=OpenInventor -import=expat ../applications/MEMPHYS_session.cxx ../applications/HitsCollectionAccessor.cxx use_linkopts='"${MEMPHYSCore_linkopts} ${G4physics_lists_hadronic_linkopts}  ${G4LabUIOnX_linkopts} ${G4LabCore_linkopts} ${G4Lab_Geant4_linkopts} ${G4LabHDUMMY_linkopts} ${HEPVisPlotter_linkopts} ${HEPVisDetector_linkopts} ${HEPVisGeometry_linkopts} ${HEPVisUtils_linkopts} ${freetype_linkopts} ${jpeg_linkopts} ${dvi2bitmap_linkopts} ${OpenInventor_linkopts} ${OnXCore_linkopts} ${LibXML_linkopts} ${expat_linkopts} ${LibZip_linkopts} ${zlib_linkopts} ${LibCore_linkopts} ${dld_linkopts} ${cxxstd_linkopts} ${Windows_linkopts} ${OpenGL_linkopts} ${Xext_linkopts} ${X11_linkopts} "'
64macro MEMPHYS_session_cppflags "${G4Lab_Geant4_incs} ${MEMPHYS_batch_cppflags}"
65
66
67#//////////////////////////////////////////////////
68#/// Things using ROOT ////////////////////////////
69#//////////////////////////////////////////////////
70use ROOT v1r* Interfaces
71
72# Example of ROOT program to work on a MEMPHYS.root file :
73#application MEMPHYS_analysis_ROOT -group=ROOT ../applications/MEMPHYS_analysis_ROOT.cxx use_linkopts='"${ROOT_Tree_linkopts} ${ROOT_Hist_linkopts} ${ROOT_Matrix_linkopts} ${ROOT_Core_linkopts} ${ROOT_Cint_linkopts} ${dld_linkopts} ${math_linkopts}"'
74
75# Declare AIDA to rootcint.
76# See scripts/ROOT/aida.C for a usage example.
77
78macro AIDA_cintflags "-I${AIDAROOT}/src/cpp"
79macro AIDA_LinkDef_h "../source/ROOT/LinkDef.h"
80document rootcint MEMPHYS_rootcint_AIDA -group=ROOT ${AIDAROOT}/src/cpp/AIDA/AIDA.h
81
82library MEMPHYSAIDADict -group=ROOT -import=ROOT ${dict}/AIDADict.cpp
83macro MEMPHYSAIDADict_shlibflags "$(aida_config_libs) ${ROOT_Core_linkopts} ${ROOT_Cint_linkopts}"
84
85#//////////////////////////////////////////////////
86#//////////////////////////////////////////////////
87#//////////////////////////////////////////////////
88
89private
90macro build_library_links "true" WIN32 ""
91macro remove_library_links "true" WIN32 ""
92
93# WIN32 : /GR to enable RTTI and dynamic cast.
94# WIN32 : /GX to enable exception handling (for STL).
95macro_append cppflags "" WIN32 " /GX /GR"
96
97# DEBUG :
98#macro_append cflags  " -g" WIN32 " /ZI /Od"
99#macro_append cppflags  " -g" WIN32 " /ZI /Od"
100#macro_append cpplinkflags  " -g" WIN32 " /DEBUG"
101
102# OPTIMIZE :
103macro_append cflags  " -O" WIN32 " /O2"
104macro_append cppflags  " -O" WIN32 " /O2"
105macro_append cpplinkflags  " -O" WIN32 ""
106public
107
108#//////////////////////////////////////////////////
109#// Run time //////////////////////////////////////
110#//////////////////////////////////////////////////
111
112apply_pattern Platform_paths
113
114
Note: See TracBrowser for help on using the repository browser.