1 from init_env import init_environment
3 env = init_environment("qt5 geant4 clhep evio xercesc")
5 # env.Replace(CXX = "/apps/gcc/4.7.2/bin/g++")
8 env.Append(CPPPATH = 'materials')
9 materials_sources = Split("""
10 materials/material_factory.cc
11 materials/cpp_materials.cc
12 materials/mysql_materials.cc
13 materials/text_materials.cc
14 materials/gdml_materials.cc""")
15 env.Library(source = materials_sources, target = "lib/materials")
18 env.Append(CPPPATH = 'mirrors')
19 mirrors_sources = Split("""
20 mirrors/mirrors_factory.cc
21 mirrors/mysql_mirrors.cc
22 mirrors/text_mirrors.cc""")
23 env.Library(source = mirrors_sources, target = "lib/mirrors")
27 env.Append(CPPPATH = 'parameters')
28 parameters_sources = Split("""
29 parameters/parameter_factory.cc
30 parameters/mysql_parameters.cc
31 parameters/text_parameters.cc""")
32 env.Library(source = parameters_sources, target = "lib/parameters")
36 env.Append(CPPPATH = 'utilities')
37 util_sources = Split("""
38 utilities/string_utilities.cc
42 utilities/options.cc""")
43 env.Library(source = util_sources, target = "lib/utilities")
47 env.Append(CPPPATH = 'detector')
48 det_sources = Split("""
50 detector/detector_factory.cc
51 detector/mysql_det_factory.cc
52 detector/gdml_det_factory.cc
53 detector/clara_det_factory.cc
54 detector/gdml_solids.cc
55 detector/text_det_factory.cc""")
56 env.Library(source = det_sources, target = "lib/detector")
60 env.Append(CPPPATH = 'sensitivity')
61 sensi_sources = Split("""
62 sensitivity/sensitiveDetector.cc
63 sensitivity/identifier.cc
65 sensitivity/HitProcess.cc
66 sensitivity/sensitiveID.cc""")
67 env.Library(source = sensi_sources, target = "lib/sensitivity")
71 env.Append(CPPPATH = 'physics')
72 phys_sources = Split("""
73 physics/PhysicsList.cc
74 physics/PhysicsListMessenger.cc""")
75 env.Library(source = phys_sources, target = "lib/physics")
78 env.Append(CPPPATH = 'fields')
79 field_sources = Split("""
81 fields/fieldFactory.cc
84 fields/multipoleField.cc
85 fields/symmetries/dipole.cc
86 fields/symmetries/cylindrical.cc
87 fields/symmetries/phi-segmented.cc""")
88 env.Library(source = field_sources, target = "lib/fields")
92 env.Append(CPPPATH = ['hitprocess', 'hitprocess/clas12', 'hitprocess/clas12/svt', 'hitprocess/clas12/micromegas'])
93 env.Append(CPPPATH = ['hitprocess/Aprime', 'hitprocess/GlueX', 'hitprocess/solid'])
94 hitp_sources = Split("""
95 hitprocess/HitProcess_MapRegister.cc
96 hitprocess/flux_hitprocess.cc
97 hitprocess/clas12/micromegas/FMT_hitprocess.cc
98 hitprocess/clas12/micromegas/fmt_strip.cc
99 hitprocess/clas12/micromegas/BMT_hitprocess.cc
100 hitprocess/clas12/micromegas/bmt_strip.cc
101 hitprocess/clas12/micromegas/ftm_hitprocess.cc
102 hitprocess/clas12/micromegas/ftm_strip.cc
103 hitprocess/clas12/svt/bst_hitprocess.cc
104 hitprocess/clas12/svt/bst_strip.cc
105 hitprocess/clas12/ctof_hitprocess.cc
106 hitprocess/clas12/dc_hitprocess.cc
107 hitprocess/clas12/ec_hitprocess.cc
108 hitprocess/clas12/ecs_hitprocess.cc
109 hitprocess/clas12/ftof_hitprocess.cc
110 hitprocess/clas12/ft_cal_hitprocess.cc
111 hitprocess/clas12/ft_hodo_hitprocess.cc
112 hitprocess/clas12/htcc_hitprocess.cc
113 hitprocess/clas12/pcal_hitprocess.cc
114 hitprocess/clas12/rich_hitprocess.cc
115 hitprocess/HPS/ECAL_hitprocess.cc
116 hitprocess/HPS/SVT_hitprocess.cc
117 hitprocess/HPS/muon_hodo_hitprocess.cc""")
118 env.Library(source = hitp_sources, target = "lib/hitprocess")
122 env.Append(CPPPATH = 'output')
123 output_sources = Split("""
124 output/outputFactory.cc
125 output/evio_output.cc
128 env.Library(source = output_sources, target = "lib/output")
131 env.Append(CPPPATH = 'gui/src')
132 gui_sources = Split("""
133 gui/src/gemc_MainGui.cc
134 gui/src/detector_editor.cc
135 gui/src/runControl/run_control.cc
136 gui/src/runControl/primaryTab.cc
137 gui/src/runControl/momControls.cc
138 gui/src/runControl/vtxControls.cc
139 gui/src/camera_control.cc
140 gui/src/detector_tree.cc
144 gui/src/physicsListGui.cc""")
145 env.Library(source = gui_sources, target = "lib/gui")
149 env.Append(CPPPATH = 'src')
150 gemc_sources = Split("""
153 src/run_conditions.cc
155 src/MDetectorConstruction.cc
156 src/MDetectorMessenger.cc
158 src/MPrimaryGeneratorAction.cc
159 src/MSteppingAction.cc""")
161 env.Append(LIBPATH = ['lib'])
162 env.Prepend(LIBS = ['materials', 'mirrors', 'parameters', 'utilities', 'detector', 'sensitivity', 'physics', 'fields', 'hitprocess', 'output', 'gui'])
163 env.Program(source = gemc_sources, target = "gemc")
166 if env['LIBRARY'] == "static":
167 env.Library(source = gemc_sources, target = "gemc")
170 if env['LIBRARY'] == "shared":
171 env.SharedLibrary(source = gemc_sources, target = "gemc")