forked from LLNL/GridDyn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
meson.build
340 lines (327 loc) · 14 KB
/
meson.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
project('griddyn', ['c', 'cpp'], version : '0.9.x', default_options: ['cpp_std=c++17', 'b_sanitize=address'])
subdir('ThirdParty')
griddyn_conf = configuration_data({
'GRIDDYN_DATE' : 'September 2019',
'GRIDDYN_VERSION_BUILD' : 'v1',
'GRIDDYN_VERSION_MAJOR' : '1',
'GRIDDYN_VERSION_MINOR' : '0',
'GRIDDYN_VERSION_PATCH' : '0',
'GRIDDYN_VERSION_STRING' : 'v1',
'GRIDDYN_VERSION_STRING_SHORT' : 'v1',
'ENABLE_KLU' : '1',
})
griddyn_compiler_config = configure_file(
input : 'config/cmake/compiler-config.h.in',
output : 'compiler-config.h',
format : 'cmake',
configuration : griddyn_conf)
griddyn_config = configure_file(
input : 'config/griddyn-config.h.in',
output : 'griddyn-config.h',
format : 'cmake',
configuration : griddyn_conf)
griddyn_config_inc = include_directories('.')
boost_dep = dependency('boost', modules : [
'system',
'unit_test_framework',
'stacktrace_backtrace',
])
cc = meson.get_compiler('c')
dl_lib = cc.find_library('dl')
fs_lib = cc.find_library('stdc++fs')
threads_dep = dependency('threads')
griddyn_core_inc = include_directories('include/core')
griddyn_utility_inc = include_directories('include/utilities')
griddyn_inc = include_directories('include/griddyn')
subdir('src/property')
griddyn_utility_lib = library('griddyn_utility', [
'src/utilities/gridRandom.cpp',
'src/utilities/saturation.cpp',
'src/utilities/stringOps.cpp',
'src/utilities/string_viewOps.cpp',
'src/utilities/ThreePhaseFunctions.cpp',
'src/utilities/stringConversion.cpp',
'src/utilities/units.cpp',
'src/utilities/vectorOps.cpp',
'src/utilities/functionInterpreter.cpp',
'src/utilities/charMapper.cpp',
'src/utilities/workQueue.cpp',
'src/utilities/zipUtilities.cpp',
'src/utilities/matrixCreation.cpp',
'src/utilities/logger.cpp',
'src/utilities/matrixDataSparse.cpp',
'src/utilities/OperatingBoundary.cpp',
'src/utilities/stringToCmdLine.cpp',
'src/utilities/TripWire.cpp',
],
dependencies : [
minizip_dep,
boost_dep,
fs_lib,
],
include_directories : [griddyn_config_inc, griddyn_utility_inc])
griddyn_utility_dep = declare_dependency(link_with : griddyn_utility_lib, include_directories : griddyn_utility_inc)
griddyn_format_interpreter_inc = include_directories('include/formatInterpreters')
griddyn_format_interpreter_lib = library('griddyn_format_interpreter', [
'src/formatInterpreters/jsonReaderElement.cpp',
'src/formatInterpreters/jsonElement.cpp',
'src/formatInterpreters/tinyxml2ReaderElement.cpp',
'src/formatInterpreters/tinyxmlReaderElement.cpp',
'src/formatInterpreters/readerElement.cpp',
'src/formatInterpreters/tomlElement.cpp',
'src/formatInterpreters/tomlReaderElement.cpp',
'src/formatInterpreters/iniReaderElement.cpp',
'src/formatInterpreters/yamlElement.cpp',
'src/formatInterpreters/yamlReaderElement.cpp',
],
dependencies : [
griddyn_utility_dep,
jsoncpp_dep,
toml_dep,
ticpp_dep,
inih_dep,
tinyxml2_dep,
yaml_cpp_dep,
],
include_directories : griddyn_format_interpreter_inc)
griddyn_format_interpreter_dep = declare_dependency(link_with : griddyn_format_interpreter_lib, include_directories : griddyn_format_interpreter_inc)
griddyn_core_lib = library('griddyn_core', [
'src/core/coreExceptions.cpp',
'src/core/coreObject.cpp',
'src/core/coreObjectList.cpp',
'src/core/helperObject.cpp',
'src/core/nullObject.cpp',
'src/core/objectFactory.cpp',
'src/core/objectInterpreter.cpp',
'src/core/propertyBuffer.cpp',
griddyn_core_gen,
],
include_directories : griddyn_core_inc,
dependencies : griddyn_utility_dep)
griddyn_core_dep = declare_dependency(
link_with : griddyn_core_lib,
include_directories : griddyn_core_inc,
dependencies : griddyn_utility_dep)
griddyn_lib = library('griddyn', [
'src/griddyn/loads/fileLoad.cpp',
'src/griddyn/loads/motorLoad5.cpp',
'src/griddyn/loads/approximatingLoad.cpp',
'src/griddyn/loads/svd.cpp',
'src/griddyn/loads/exponentialLoad.cpp',
'src/griddyn/loads/motorLoad3.cpp',
'src/griddyn/loads/fDepLoad.cpp',
'src/griddyn/loads/frequencySensitiveLoad.cpp',
'src/griddyn/loads/sourceLoad.cpp',
'src/griddyn/loads/aggregateLoad.cpp',
'src/griddyn/loads/Load.cpp',
'src/griddyn/loads/rampLoad.cpp',
'src/griddyn/loads/ThreePhaseLoad.cpp',
'src/griddyn/loads/motorLoad.cpp',
'src/griddyn/loads/zipLoad.cpp',
'src/griddyn/blocks/functionBlock.cpp',
'src/griddyn/blocks/rampLimiter.cpp',
'src/griddyn/blocks/blockSequence.cpp',
'src/griddyn/blocks/integralBlock.cpp',
'src/griddyn/blocks/lutBlock.cpp',
'src/griddyn/blocks/delayBlock.cpp',
'src/griddyn/blocks/Block.cpp',
'src/griddyn/blocks/derivativeBlock.cpp',
'src/griddyn/blocks/pidBlock.cpp',
'src/griddyn/blocks/transferFunctionBlock.cpp',
'src/griddyn/blocks/valueLimiter.cpp',
'src/griddyn/blocks/deadbandBlock.cpp',
'src/griddyn/blocks/nullBlock.cpp',
'src/griddyn/blocks/controlBlock.cpp',
'src/griddyn/blocks/filteredDerivativeBlock.cpp',
'src/griddyn/numericEstimationFunctions.cpp',
'src/griddyn/stabilizers/Stabilizer.cpp',
'src/griddyn/gridPrimary.cpp',
'src/griddyn/measurement/collector.cpp',
'src/griddyn/measurement/grabberInterpreter.cpp',
'src/griddyn/measurement/Recorder.cpp',
'src/griddyn/measurement/objectGrabbers.cpp',
'src/griddyn/measurement/grabberSet.cpp',
'src/griddyn/measurement/compoundCondition.cpp',
'src/griddyn/measurement/Condition.cpp',
'src/griddyn/measurement/stateGrabbers.cpp',
'src/griddyn/measurement/gridGrabbers.cpp',
'src/griddyn/genmodels/GenModel.cpp',
'src/griddyn/genmodels/GenModelClassical.cpp',
'src/griddyn/genmodels/GenModel5type2.cpp',
'src/griddyn/genmodels/GenModel6type2.cpp',
'src/griddyn/genmodels/GenModel5type3.cpp',
'src/griddyn/genmodels/GenModel5.cpp',
'src/griddyn/genmodels/GenModel3.cpp',
'src/griddyn/genmodels/GenModelInverter.cpp',
'src/griddyn/genmodels/GenModelGENROU.cpp',
'src/griddyn/genmodels/GenModel6.cpp',
'src/griddyn/genmodels/GenModel8.cpp',
'src/griddyn/genmodels/GenModel4.cpp',
'src/griddyn/gridComponent.cpp',
'src/griddyn/simulation/gridSimulation.cpp',
'src/griddyn/simulation/dynamicInitialConditionRecovery.cpp',
'src/griddyn/simulation/gridDynContinuation.cpp',
'src/griddyn/simulation/gridDynSimulationFileOps.cpp',
'src/griddyn/simulation/powerFlowErrorRecovery.cpp',
'src/griddyn/simulation/contingency.cpp',
'src/griddyn/simulation/diagnostics.cpp',
'src/griddyn/simulation/gridDynActions.cpp',
'src/griddyn/simulation/gridDynPowerFlow.cpp',
'src/griddyn/simulation/faultResetRecovery.cpp',
'src/griddyn/simulation/gridDynContingency.cpp',
'src/griddyn/simulation/gridDynSimulation.cpp',
'src/griddyn/simulation/gridDynDynamic.cpp',
'src/griddyn/gridSubModel.cpp',
'src/griddyn/offsetTable.cpp',
'src/griddyn/controllers/AGControl.cpp',
'src/griddyn/controllers/dispatcher.cpp',
'src/griddyn/controllers/schedulerReg.cpp',
'src/griddyn/controllers/scheduler.cpp',
'src/griddyn/controllers/schedulerRamp.cpp',
'src/griddyn/controllers/reserveDispatcher.cpp',
'src/griddyn/controllers/controlSystem.cpp',
'src/griddyn/relays/differentialRelay.cpp',
'src/griddyn/relays/breaker.cpp',
'src/griddyn/relays/Relay.cpp',
'src/griddyn/relays/fuse.cpp',
'src/griddyn/relays/busRelay.cpp',
'src/griddyn/relays/controlRelay.cpp',
'src/griddyn/relays/sensor.cpp',
'src/griddyn/relays/loadRelay.cpp',
'src/griddyn/relays/zonalRelay.cpp',
'src/griddyn/relays/pmu.cpp',
'src/griddyn/links/dcLink.cpp',
'src/griddyn/links/zBreaker.cpp',
'src/griddyn/links/longLine.cpp',
'src/griddyn/links/adjustableTransformer.cpp',
'src/griddyn/links/subsystem.cpp',
'src/griddyn/links/hvdc.cpp',
'src/griddyn/links/Link.cpp',
'src/griddyn/links/acLine.cpp',
'src/griddyn/links/acdcConverter.cpp',
'src/griddyn/exciters/ExciterDC1A.cpp',
'src/griddyn/exciters/ExciterDC2A.cpp',
'src/griddyn/exciters/ExciterIEEEtype2.cpp',
'src/griddyn/exciters/Exciter.cpp',
'src/griddyn/exciters/ExciterIEEEtype1.cpp',
'src/griddyn/gridSecondary.cpp',
'src/griddyn/primary/gridBus.cpp',
'src/griddyn/primary/acBus.cpp',
'src/griddyn/primary/Area.cpp',
'src/griddyn/primary/infiniteBus.cpp',
'src/griddyn/primary/dcBus.cpp',
'src/griddyn/primary/DcBusControls.cpp',
'src/griddyn/primary/listMaintainer.cpp',
'src/griddyn/primary/BusControls.cpp',
'src/griddyn/sources/functionSource.cpp',
'src/griddyn/sources/Source.cpp',
'src/griddyn/sources/pulseSource.cpp',
'src/griddyn/sources/blockSource.cpp',
'src/griddyn/sources/sineSource.cpp',
'src/griddyn/sources/grabberSource.cpp',
'src/griddyn/sources/rampSource.cpp',
'src/griddyn/sources/randomSource.cpp',
'src/griddyn/sources/fileSource.cpp',
'src/griddyn/sources/commSource.cpp',
'src/griddyn/generators/variableGenerator.cpp',
'src/griddyn/generators/Generator.cpp',
'src/griddyn/generators/DynamicGenerator.cpp',
'src/griddyn/generators/isocController.cpp',
'src/griddyn/comms/controlMessage.cpp',
'src/griddyn/comms/commMessage.cpp',
'src/griddyn/comms/communicationsCore.cpp',
'src/griddyn/comms/commManager.cpp',
'src/griddyn/comms/Communicator.cpp',
'src/griddyn/comms/schedulerMessage.cpp',
'src/griddyn/gridComponentHelperClasses.cpp',
'src/griddyn/events/eventAdapters.cpp',
'src/griddyn/events/interpolatingPlayer.cpp',
'src/griddyn/events/Event.cpp',
'src/griddyn/events/Player.cpp',
'src/griddyn/events/reversibleEvent.cpp',
'src/griddyn/events/eventQueue.cpp',
'src/griddyn/events/compoundEvent.cpp',
'src/griddyn/events/compoundEventPlayer.cpp',
'src/griddyn/events/parameterOperator.cpp',
'src/griddyn/solvers/sundialsMatrixData.cpp',
'src/griddyn/solvers/basicSolver.cpp',
'src/griddyn/solvers/cvodeInterface.cpp',
'src/griddyn/solvers/solverInterface.cpp',
'src/griddyn/solvers/sundialsMatrixDataSparseColumn.cpp',
'src/griddyn/solvers/idaInterface.cpp',
'src/griddyn/solvers/sundialsInterface.cpp',
'src/griddyn/solvers/arkodeInterface.cpp',
'src/griddyn/solvers/basicOdeSolver.cpp',
'src/griddyn/solvers/sundialsMatrixDataDense.cpp',
'src/griddyn/solvers/sundialsMatrixDataSparseRow.cpp',
'src/griddyn/solvers/kinsolInterface.cpp',
'src/griddyn/governors/Governor.cpp',
'src/griddyn/governors/GovernorTgov1.cpp',
'src/griddyn/governors/GovernorReheat.cpp',
'src/griddyn/governors/GovernorSteamTCSR.cpp',
'src/griddyn/governors/GovernorSteamNR.cpp',
'src/griddyn/governors/GovernorIeeeSimple.cpp',
'src/griddyn/governors/GovernorHydro.cpp',
griddyn_gen,
],
include_directories : griddyn_inc,
dependencies : [
griddyn_core_dep,
griddyn_utility_dep,
cereal_dep,
ticpp_dep,
sundials_dep,
boost_dep,
dl_lib,
])
griddyn_dep = declare_dependency(link_with : griddyn_lib, include_directories : griddyn_inc)
griddyn_file_input_inc = include_directories('include/fileInput')
griddyn_file_input_lib = library('griddyn_file_input',
[
'src/fileInput/fileInput.cpp',
'src/fileInput/gridDynReadCDF.cpp',
'src/fileInput/gridDynReadCSV.cpp',
'src/fileInput/gridDynReadDYR.cpp',
'src/fileInput/gridDynReadPSP.cpp',
'src/fileInput/gridDynReadPTI.cpp',
'src/fileInput/gridDynReadRAW.cpp',
'src/fileInput/gridParameter.cpp',
'src/fileInput/gridReadEPC.cpp',
'src/fileInput/gridReadMatPower.cpp',
'src/fileInput/gridReadPSAT.cpp',
'src/fileInput/loadGDZ.cpp',
'src/fileInput/loadSubObjectsElement.cpp',
'src/fileInput/objectLoadFromElementHelperFunctions.cpp',
'src/fileInput/objectLoadHelperFunctions.cpp',
'src/fileInput/readAreaElement.cpp',
'src/fileInput/readArrayElement.cpp',
'src/fileInput/readBusElement.cpp',
'src/fileInput/readCollectorElement.cpp',
'src/fileInput/readConditionElement.cpp',
'src/fileInput/readEconElement.cpp',
'src/fileInput/readElementFile.cpp',
'src/fileInput/readElementHelperFunctions.cpp',
'src/fileInput/readerHelper.cpp',
'src/fileInput/readerInfo.cpp',
'src/fileInput/readEventElement.cpp',
'src/fileInput/readLibraryElement.cpp',
'src/fileInput/readLinkElement.cpp',
'src/fileInput/readMatDyn.cpp',
'src/fileInput/readMatlabData.cpp',
'src/fileInput/readRelayElement.cpp',
'src/fileInput/readSimulationElement.cpp',
'src/fileInput/readSolverElement.cpp',
'src/fileInput/readXMLfile.cpp',
'src/fileInput/stringInterpret.cpp',
],
include_directories : griddyn_file_input_inc,
dependencies : [
griddyn_utility_dep,
griddyn_format_interpreter_dep,
griddyn_core_dep,
griddyn_dep,
boost_dep,
fs_lib,
])
griddyn_file_input_dep = declare_dependency(link_with : griddyn_file_input_lib, include_directories : griddyn_file_input_inc)
subdir('test')