/
CMakeLists.txt
592 lines (503 loc) · 36.8 KB
/
CMakeLists.txt
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
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
project(SUNDIALSPlugin)
# Name and version of our package
set(PACKAGE_NAME SUNDIALS)
set(PACKAGE_VERSION 5.5.0)
# Version of our package's libraries
set(MAJOR_ARKODE_LIBRARY_VERSION 4)
set(ARKODE_LIBRARY_VERSION ${MAJOR_ARKODE_LIBRARY_VERSION}.5.0)
set(MAJOR_CVODES_LIBRARY_VERSION 5)
set(CVODES_LIBRARY_VERSION ${MAJOR_CVODES_LIBRARY_VERSION}.5.0)
set(MAJOR_IDAS_LIBRARY_VERSION 4)
set(IDAS_LIBRARY_VERSION ${MAJOR_IDAS_LIBRARY_VERSION}.5.0)
set(MAJOR_KINSOL_LIBRARY_VERSION 5)
set(KINSOL_LIBRARY_VERSION ${MAJOR_KINSOL_LIBRARY_VERSION}.5.0)
set(MAJOR_NVEC_LIBRARY_VERSION 5)
set(NVEC_LIBRARY_VERSION ${MAJOR_NVEC_LIBRARY_VERSION}.5.0)
set(MAJOR_SUNLINSOL_LIBRARY_VERSION 3)
set(SUNLINSOL_LIBRARY_VERSION ${MAJOR_SUNLINSOL_LIBRARY_VERSION}.5.0)
set(MAJOR_SUNNONLINSOL_LIBRARY_VERSION 2)
set(SUNNONLINSOL_LIBRARY_VERSION ${MAJOR_SUNNONLINSOL_LIBRARY_VERSION}.5.0)
set(MAJOR_SUNMATRIX_LIBRARY_VERSION 3)
set(SUNMATRIX_LIBRARY_VERSION ${MAJOR_SUNMATRIX_LIBRARY_VERSION}.5.0)
# Git tag for our library
set(GIT_TAG v5.5.0)
# Specify where our local package will be installed
string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/ext"
FULL_LOCAL_EXTERNAL_PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${EXTERNAL_PACKAGE_DIR}")
# Name of our package's shared libraries (and of their import libraries, if any)
if(WIN32)
set(ARKODE_SHARED_LIBRARY sundials_arkode${CMAKE_SHARED_LIBRARY_SUFFIX})
set(ARKODE_IMPORT_LIBRARY sundials_arkode${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(CVODES_SHARED_LIBRARY sundials_cvodes${CMAKE_SHARED_LIBRARY_SUFFIX})
set(CVODES_IMPORT_LIBRARY sundials_cvodes${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(IDAS_SHARED_LIBRARY sundials_idas${CMAKE_SHARED_LIBRARY_SUFFIX})
set(IDAS_IMPORT_LIBRARY sundials_idas${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(KINSOL_SHARED_LIBRARY sundials_kinsol${CMAKE_SHARED_LIBRARY_SUFFIX})
set(KINSOL_IMPORT_LIBRARY sundials_kinsol${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(NVECSERIAL_SHARED_LIBRARY sundials_nvecserial${CMAKE_SHARED_LIBRARY_SUFFIX})
set(NVECSERIAL_IMPORT_LIBRARY sundials_nvecserial${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLBAND_SHARED_LIBRARY sundials_sunlinsolband${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLBAND_IMPORT_LIBRARY sundials_sunlinsolband${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLDENSE_SHARED_LIBRARY sundials_sunlinsoldense${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLDENSE_IMPORT_LIBRARY sundials_sunlinsoldense${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLPCG_SHARED_LIBRARY sundials_sunlinsolpcg${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLPCG_IMPORT_LIBRARY sundials_sunlinsolpcg${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLSPBCGS_SHARED_LIBRARY sundials_sunlinsolspbcgs${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLSPBCGS_IMPORT_LIBRARY sundials_sunlinsolspbcgs${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLSPFGMR_SHARED_LIBRARY sundials_sunlinsolspfgmr${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLSPFGMR_IMPORT_LIBRARY sundials_sunlinsolspfgmr${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLSPGMR_SHARED_LIBRARY sundials_sunlinsolspgmr${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLSPGMR_IMPORT_LIBRARY sundials_sunlinsolspgmr${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNLINSOLSPTFQMR_SHARED_LIBRARY sundials_sunlinsolsptfqmr${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNLINSOLSPTFQMR_IMPORT_LIBRARY sundials_sunlinsolsptfqmr${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY sundials_sunnonlinsolfixedpoint${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNNONLINSOLFIXEDPOINT_IMPORT_LIBRARY sundials_sunnonlinsolfixedpoint${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNNONLINSOLNEWTON_SHARED_LIBRARY sundials_sunnonlinsolnewton${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNNONLINSOLNEWTON_IMPORT_LIBRARY sundials_sunnonlinsolnewton${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNMATRIXBAND_SHARED_LIBRARY sundials_sunmatrixband${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNMATRIXBAND_IMPORT_LIBRARY sundials_sunmatrixband${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNMATRIXDENSE_SHARED_LIBRARY sundials_sunmatrixdense${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNMATRIXDENSE_IMPORT_LIBRARY sundials_sunmatrixdense${CMAKE_IMPORT_LIBRARY_SUFFIX})
set(SUNMATRIXSPARSE_SHARED_LIBRARY sundials_sunmatrixsparse${CMAKE_SHARED_LIBRARY_SUFFIX})
set(SUNMATRIXSPARSE_IMPORT_LIBRARY sundials_sunmatrixsparse${CMAKE_IMPORT_LIBRARY_SUFFIX})
else()
set(ARKODE_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_arkode${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_ARKODE_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(ARKODE_IMPORT_LIBRARY ${ARKODE_SHARED_LIBRARY})
set(CVODES_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_cvodes${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_CVODES_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(CVODES_IMPORT_LIBRARY ${CVODES_SHARED_LIBRARY})
set(IDAS_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_idas${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_IDAS_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(IDAS_IMPORT_LIBRARY ${IDAS_SHARED_LIBRARY})
set(KINSOL_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_kinsol${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_KINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(KINSOL_IMPORT_LIBRARY ${KINSOL_SHARED_LIBRARY})
set(NVECSERIAL_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_nvecserial${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_NVEC_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(NVECSERIAL_IMPORT_LIBRARY ${NVECSERIAL_SHARED_LIBRARY})
set(SUNLINSOLBAND_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolband${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLBAND_IMPORT_LIBRARY ${SUNLINSOLBAND_SHARED_LIBRARY})
set(SUNLINSOLDENSE_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsoldense${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLDENSE_IMPORT_LIBRARY ${SUNLINSOLDENSE_SHARED_LIBRARY})
set(SUNLINSOLPCG_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolpcg${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLPCG_IMPORT_LIBRARY ${SUNLINSOLPCG_SHARED_LIBRARY})
set(SUNLINSOLSPBCGS_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolspbcgs${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLSPBCGS_IMPORT_LIBRARY ${SUNLINSOLSPBCGS_SHARED_LIBRARY})
set(SUNLINSOLSPFGMR_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolspfgmr${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLSPFGMR_IMPORT_LIBRARY ${SUNLINSOLSPFGMR_SHARED_LIBRARY})
set(SUNLINSOLSPGMR_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolspgmr${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLSPGMR_IMPORT_LIBRARY ${SUNLINSOLSPGMR_SHARED_LIBRARY})
set(SUNLINSOLSPTFQMR_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolsptfqmr${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNLINSOLSPTFQMR_IMPORT_LIBRARY ${SUNLINSOLSPTFQMR_SHARED_LIBRARY})
set(SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunnonlinsolfixedpoint${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJOR_SUNNONLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNNONLINSOLFIXEDPOINT_IMPORT_LIBRARY ${SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY})
set(SUNNONLINSOLNEWTON_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunnonlinsolnewton${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJOR_SUNNONLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNNONLINSOLNEWTON_IMPORT_LIBRARY ${SUNNONLINSOLNEWTON_SHARED_LIBRARY})
set(SUNMATRIXBAND_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunmatrixband${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNMATRIX_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNMATRIXBAND_IMPORT_LIBRARY ${SUNMATRIXBAND_SHARED_LIBRARY})
set(SUNMATRIXDENSE_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunmatrixdense${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNMATRIX_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNMATRIXDENSE_IMPORT_LIBRARY ${SUNMATRIXDENSE_SHARED_LIBRARY})
set(SUNMATRIXSPARSE_SHARED_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunmatrixsparse${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${MAJOR_SUNMATRIX_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST})
set(SUNMATRIXSPARSE_IMPORT_LIBRARY ${SUNMATRIXSPARSE_SHARED_LIBRARY})
endif()
# Retrieve our package's binaries
set(EXTERNAL_BINARIES_DIR ${FULL_LOCAL_EXTERNAL_PACKAGE_DIR}/lib)
set(EXTERNAL_BINARIES
${ARKODE_SHARED_LIBRARY}
${CVODES_SHARED_LIBRARY}
${IDAS_SHARED_LIBRARY}
${KINSOL_SHARED_LIBRARY}
${NVECSERIAL_SHARED_LIBRARY}
${SUNLINSOLBAND_SHARED_LIBRARY}
${SUNLINSOLDENSE_SHARED_LIBRARY}
${SUNLINSOLPCG_SHARED_LIBRARY}
${SUNLINSOLSPBCGS_SHARED_LIBRARY}
${SUNLINSOLSPFGMR_SHARED_LIBRARY}
${SUNLINSOLSPGMR_SHARED_LIBRARY}
${SUNLINSOLSPTFQMR_SHARED_LIBRARY}
${SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY}
${SUNNONLINSOLNEWTON_SHARED_LIBRARY}
${SUNMATRIXBAND_SHARED_LIBRARY}
${SUNMATRIXDENSE_SHARED_LIBRARY}
${SUNMATRIXSPARSE_SHARED_LIBRARY}
)
# Specify the files that need to have their SHA-1 value checked
set(SHA1_FILES
lib/${ARKODE_SHARED_LIBRARY}
lib/${CVODES_SHARED_LIBRARY}
lib/${IDAS_SHARED_LIBRARY}
lib/${KINSOL_SHARED_LIBRARY}
lib/${NVECSERIAL_SHARED_LIBRARY}
lib/${SUNLINSOLBAND_SHARED_LIBRARY}
lib/${SUNLINSOLDENSE_SHARED_LIBRARY}
lib/${SUNLINSOLPCG_SHARED_LIBRARY}
lib/${SUNLINSOLSPBCGS_SHARED_LIBRARY}
lib/${SUNLINSOLSPFGMR_SHARED_LIBRARY}
lib/${SUNLINSOLSPGMR_SHARED_LIBRARY}
lib/${SUNLINSOLSPTFQMR_SHARED_LIBRARY}
lib/${SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY}
lib/${SUNNONLINSOLNEWTON_SHARED_LIBRARY}
lib/${SUNMATRIXBAND_SHARED_LIBRARY}
lib/${SUNMATRIXDENSE_SHARED_LIBRARY}
lib/${SUNMATRIXSPARSE_SHARED_LIBRARY}
)
if(WIN32)
list(APPEND SHA1_FILES
lib/${ARKODE_IMPORT_LIBRARY}
lib/${CVODES_IMPORT_LIBRARY}
lib/${IDAS_IMPORT_LIBRARY}
lib/${KINSOL_IMPORT_LIBRARY}
lib/${NVECSERIAL_IMPORT_LIBRARY}
lib/${SUNLINSOLBAND_IMPORT_LIBRARY}
lib/${SUNLINSOLDENSE_IMPORT_LIBRARY}
lib/${SUNLINSOLPCG_IMPORT_LIBRARY}
lib/${SUNLINSOLSPBCGS_IMPORT_LIBRARY}
lib/${SUNLINSOLSPFGMR_IMPORT_LIBRARY}
lib/${SUNLINSOLSPGMR_IMPORT_LIBRARY}
lib/${SUNLINSOLSPTFQMR_IMPORT_LIBRARY}
lib/${SUNNONLINSOLFIXEDPOINT_IMPORT_LIBRARY}
lib/${SUNNONLINSOLNEWTON_IMPORT_LIBRARY}
lib/${SUNMATRIXBAND_IMPORT_LIBRARY}
lib/${SUNMATRIXDENSE_IMPORT_LIBRARY}
lib/${SUNMATRIXSPARSE_IMPORT_LIBRARY}
)
endif()
# Use the pre-built version of our package unless instructed otherwise
if(USE_PREBUILT_SUNDIALS_PACKAGE)
# Retrieve the plugin's package
if(WIN32)
if(RELEASE_MODE)
retrieve_package_file(${PACKAGE_NAME} ${PACKAGE_VERSION}
${FULL_LOCAL_EXTERNAL_PACKAGE_DIR} 0aaafb162910069372e1d1ec39a37f89bef9b7f1
SHA1_FILES ${SHA1_FILES}
SHA1_VALUES c24cbada6421f73871bf690bcb2385927d885edd
94aae3177e13ea50b58ff1be2df2dfc2c5480257
9f96c6e935d5f217d469f137949c73e202691802
2d633f5349077c21d7f3fad50f88c869fce8f879
961fe34841b9a9cbe5c802058c96bf4b7fad8ce6
9315ab6c2a18332a19959bc0dab20594cb0a2285
64cf9ee1ace022e9a5487bad8ed7301d36b533f6
86f307bb8eff635c9552921e2d44870131958c93
09a85fe8f5d06c38be8042d68a4b28c7ac36eb66
8fc74012bfa50a5113715eb0c2c84d50fee4707b
fbe52460be5c96eab8bb05daac9ac53dbe73504d
462beb71e27fe42a68f10c3a30b7cbb2401e8c69
1724b5a46d3ad29767a990462621417b28b3c879
7bb28f51ea2a441ddf3c2c8b0384d7e0b9ec58d8
fb4f596b720c137670ebb2937e4933829b2ab959
896f33b1016d7bda2a97af6dc38b2a4873474c97
b4e27ef39f1c8bf94db3379c7ae2740ceca794e1
b74038a93346a3e7ba96c642a7ba6bd79757acbe
d83755706cf5f4fba4d118c58341fcb6aea8b3be
4f20fb596245671edb603759bb6870d6e1f8dc3e
e1633efc8e41826650fcf38d7a6de08d3d981031
6e6c230867238f563b77e8c05a9fbbc7de309739
1cd5376cdbc1f8562719bf4db87e18cc34541d1e
b47865b3e520482b5ce77d90ce474d3ca695b0ac
6d0a4fcbfaddaabc6f5f53116a8937768b035934
6b7ff4e7648668eb426c11dfdfe7bf6e2f489cc0
c6628edc307402c6affba1797082fada5170ce4e
1bfbc33702b4ddf9ee68ac63859c9053fa62b43d
848fc5753627324dea4ea1baa794fa89cabc0b09
28097a3b1b9a139ee36e977fb47f30518d407604
ffd96d706572d9bd5233f34daf9943b14c761074
a9ccb6d9539f066a8dceae5f12e72c4d17743004
fd6f37ef5cd3bccb989f7a927521ff22dd263cb3
ab828ece8dc563443085ab6564b6e54016c5ee9d)
else()
retrieve_package_file(${PACKAGE_NAME} ${PACKAGE_VERSION}
${FULL_LOCAL_EXTERNAL_PACKAGE_DIR} 5a9f781aa7837ceb4e80260476cc2d9e718b3e33
SHA1_FILES ${SHA1_FILES}
SHA1_VALUES 7be7bdcc54c2dd94c2e30c6de57900e37c7893f3
0d9d3cf5b67ff9c9f43e9da106cb5c12abc5d37a
2687bb93af7c0a2ea47a2e696a00047ba6aaf072
72a34a32ad35961892f444781089ef657245d14e
d322cab3800eda76395f1a627c1b51b74b5949e0
3804a28fdb24509dfb494b706a536a97dc75c83c
f65b7b3fd42edff79eda8f4e15acabe46e60502d
4dc36ce8d4945ba22ceb6cff6275c6fe92f4b0ee
2ab3f01422e6d520320434a8db6a8a33d041f575
03c04e815ef9bcd2e02b69f9a91f4cabc664a1ff
c285695b5b6ff03d89efc4364e8b74b26cdc9ee4
d83383608fe1369984b48435e65b12a76fedb703
6c9fe560f95d6344d7e304289f8131e91f05b0ea
2db58c3c172be267a4521a5f1980b9b81eaf270c
d67f21c5351869c06a92d6379cada3eb7bf89e98
b399cfc414b6b37ec378c947f5fcd5e732e6e468
bb08aa6d9f9ee93ca4354b2d62f1038c19c282db
b74038a93346a3e7ba96c642a7ba6bd79757acbe
d83755706cf5f4fba4d118c58341fcb6aea8b3be
4f20fb596245671edb603759bb6870d6e1f8dc3e
e1633efc8e41826650fcf38d7a6de08d3d981031
6e6c230867238f563b77e8c05a9fbbc7de309739
1cd5376cdbc1f8562719bf4db87e18cc34541d1e
b47865b3e520482b5ce77d90ce474d3ca695b0ac
6d0a4fcbfaddaabc6f5f53116a8937768b035934
6b7ff4e7648668eb426c11dfdfe7bf6e2f489cc0
c6628edc307402c6affba1797082fada5170ce4e
1bfbc33702b4ddf9ee68ac63859c9053fa62b43d
848fc5753627324dea4ea1baa794fa89cabc0b09
28097a3b1b9a139ee36e977fb47f30518d407604
ffd96d706572d9bd5233f34daf9943b14c761074
a9ccb6d9539f066a8dceae5f12e72c4d17743004
fd6f37ef5cd3bccb989f7a927521ff22dd263cb3
ab828ece8dc563443085ab6564b6e54016c5ee9d)
endif()
elseif(APPLE)
retrieve_package_file(${PACKAGE_NAME} ${PACKAGE_VERSION}
${FULL_LOCAL_EXTERNAL_PACKAGE_DIR} 3d48bbf35c88cdbc4bd47a19ea59551574225fce
SHA1_FILES ${SHA1_FILES}
SHA1_VALUES c8f5fc7590fc604b310a15729f8419ff17ea9822
ed74df5ee0d5300dfa1e60f27fffed6ec72c4a1f
9891049d3b4bbd35b69aa44c6c83c4799421d4a4
a640f3106931f4e64addc0f2bb6182c2f3f914b2
db451fa15c36de6dd7d5006a75a569f419b09668
84026abdc641e6adb5b55180861b2cd556384f70
2e745365e5a42c73f2206d3d56553606d58bd883
5b61aa675b1b1d279c9930dc70e470959de1af2b
63532e0d058274ca698e9f8443cce97e8c5efe71
7c79c04e090d9a203971b88677e272835c4443f9
96732e185637e20c22378a0dae3114a4f5808ad0
756e422a46d71816d9db166947bfbceb153fb615
d0a94ed00d903a8147637a795c88adc4873a1bf7
fb71f258b7d2c62a3b616b41e094fb7d4205797a
b25d38251ff0cd1801afb32265359536cbd26cd3
9becf924ba8e236fe8ee8b28236b2ee6a96311a6
39bd5eda8ecf85701260a4e7a64c67b4099106a2)
else()
retrieve_package_file(${PACKAGE_NAME} ${PACKAGE_VERSION}
${FULL_LOCAL_EXTERNAL_PACKAGE_DIR} 8644bd1f44fab4571d7110da65a7920ae3631bc2
SHA1_FILES ${SHA1_FILES}
SHA1_VALUES 2125633876d0a5294cd91e91e22870ef82e5f4c7
0b7eafd2f4ecc57d9a0b4cab9450fa290c70c90e
d1e63b66b527760be7372ecc2e2303dad267008c
be30eef7f11e810db64d3bbb3283bd80b2b433a7
a6938ebabd4367b96ae2f8bacf2a5e2ecd8df9ef
f4a882fa6a08ea0d6589bca62fd23dc66457927d
2dc7bb37c181b514def29ec0f4b05b1b422bd517
06c9671a28cf2f40593b72e45db20124c6b422e5
70e151b9cd468e7791e3197fa6f8fc71431a77ff
0286c7b1c0871a0102c5e5469c93d568a2bcb863
d5261df80488d830ad6f2fcdf5386363315b6461
7325ae9a5e2bb09e4a0f0b90b7e8ce99701778ac
8f0458b0a3405f809b097e387ddb9dcb6c213344
35a7eeba63523e7e7927c20cb031dcea4cd3956c
95073011e4e5da057b2ff566ee1bdf71a09b2946
ac65e23178b40d09b01ee969596a27d4db41e0ff
e97aa742ffa71539b42d72a1a9e11cde11c8f3f7)
endif()
else()
# Ignore some warnings
if(WIN32)
set(PACKAGE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244")
endif()
# Build SUNDIALS as an external project
# Note: the --no-warn-unused-cli argument is to prevent CMake from warning
# us about NO_FPRINTF_OUTPUT not being used...
set(PACKAGE_BUILD ${PACKAGE_NAME}Build)
ExternalProject_Add(${PACKAGE_BUILD}
SOURCE_DIR
${CMAKE_SOURCE_DIR}/ext/${PACKAGE_NAME}
INSTALL_DIR
${FULL_LOCAL_EXTERNAL_PACKAGE_DIR}
GIT_REPOSITORY
https://github.com/opencor/sundials
GIT_TAG
${GIT_TAG}
CMAKE_CACHE_ARGS
-DCMAKE_C_FLAGS:STRING=${PACKAGE_C_FLAGS}
CMAKE_GENERATOR
${CMAKE_GENERATOR}
CMAKE_ARGS
--no-warn-unused-cli
-DBUILD_CVODE=OFF
-DBUILD_IDA=OFF
-DBUILD_STATIC_LIBS=OFF
${CMAKE_ARGS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DEXAMPLES_ENABLE_C=OFF
-DNO_FPRINTF_OUTPUT=ON
BUILD_BYPRODUCTS
<INSTALL_DIR>/lib/${ARKODE_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${CVODES_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${IDAS_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${KINSOL_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${NVECSERIAL_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLBAND_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLDENSE_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLPCG_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLSPBCGS_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLSPFGMR_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLSPGMR_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNLINSOLSPTFQMR_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNNONLINSOLFIXEDPOINT_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNNONLINSOLNEWTON_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNMATRIXBAND_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNMATRIXDENSE_IMPORT_LIBRARY}
<INSTALL_DIR>/lib/${SUNMATRIXSPARSE_IMPORT_LIBRARY}
)
# Do some post-processing that is specific to each platform
if(NOT WIN32)
# Dereference the symbolic link to the libraries since CMake's tar can't
# do this
ExternalProject_Add_Step(${PACKAGE_BUILD} copyArkodeLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${ARKODE_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_arkode${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${ARKODE_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${ARKODE_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copyCvodesLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${CVODES_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_cvodes${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${CVODES_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${CVODES_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copyIdasLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${IDAS_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_idas${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${IDAS_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${IDAS_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copyKinsolLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${KINSOL_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_kinsol${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${KINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${KINSOL_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copyNvecserialLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${NVECSERIAL_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_nvecserial${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${NVEC_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${NVECSERIAL_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsolbandLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLBAND_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolband${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLBAND_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsoldenseLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLDENSE_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsoldense${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLDENSE_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsolpcgLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLPCG_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolpcg${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLPCG_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsolspbcgsLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLSPBCGS_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolspbcgs${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLSPBCGS_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsolspfgmrLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLSPFGMR_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolspfgmr${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLSPFGMR_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsolspgmrLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLSPGMR_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolspgmr${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLSPGMR_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunlinsolsptfqmrLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNLINSOLSPTFQMR_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunlinsolsptfqmr${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNLINSOLSPTFQMR_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunnonlinsolfixedpointLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunnonlinsolfixedpoint${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNNONLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNNONLINSOLFIXEDPOINT_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunnonlinsolnewtonLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNNONLINSOLNEWTON_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunnonlinsolnewton${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNNONLINSOL_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNNONLINSOLNEWTON_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunmatrixbandLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNMATRIXBAND_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunmatrixband${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNMATRIX_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNMATRIXBAND_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunmatrixdenseLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNMATRIXDENSE_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunmatrixdense${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNMATRIX_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNMATRIXDENSE_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
ExternalProject_Add_Step(${PACKAGE_BUILD} copySunmatrixsparseLibrary
COMMAND ${CMAKE_COMMAND} -E remove -f ${SUNMATRIXSPARSE_SHARED_LIBRARY}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SHARED_LIBRARY_PREFIX}sundials_sunmatrixsparse${CMAKE_SHARED_LIBRARY_SUFFIX_PRE}.${SUNMATRIX_LIBRARY_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX_POST}
${SUNMATRIXSPARSE_SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES install)
endif()
# Package our external project
create_package_file(${PACKAGE_NAME} ${PACKAGE_VERSION}
PACKAGED_FILES include ${SHA1_FILES}
SHA1_FILES ${SHA1_FILES}
TARGET ${PACKAGE_BUILD})
set(DEPENDS_ON ${PACKAGE_BUILD})
endif()
# Allow other external projects to find our SUNDIALS package
set(SUNDIALS_ROOT_DIR ${FULL_LOCAL_EXTERNAL_PACKAGE_DIR} PARENT_SCOPE)
set(SUNDIALS_INCLUDE_DIR ${FULL_LOCAL_EXTERNAL_PACKAGE_DIR}/include PARENT_SCOPE)
set(SUNDIALS_ARKODE_LIBRARY ${EXTERNAL_BINARIES_DIR}/${ARKODE_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_CVODES_LIBRARY ${EXTERNAL_BINARIES_DIR}/${CVODES_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_IDAS_LIBRARY ${EXTERNAL_BINARIES_DIR}/${IDAS_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_KINSOL_LIBRARY ${EXTERNAL_BINARIES_DIR}/${KINSOL_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_NVECSERIAL_LIBRARY ${EXTERNAL_BINARIES_DIR}/${NVECSERIAL_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLBAND_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLBAND_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLDENSE_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLDENSE_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLPCG_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLPCG_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLSPBCGS_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLSPBCGS_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLSPFGMR_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLSPFGMR_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLSPGMR_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLSPGMR_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNLINSOLSPTFQMR_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNLINSOLSPTFQMR_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNNONLINSOLFIXEDPOINT_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNNONLINSOLFIXEDPOINT_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNNONLINSOLNEWTON_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNNONLINSOLNEWTON_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNMATRIXBAND_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNMATRIXBAND_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNMATRIXDENSE_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNMATRIXDENSE_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_SUNMATRIXSPARSE_LIBRARY ${EXTERNAL_BINARIES_DIR}/${SUNMATRIXSPARSE_IMPORT_LIBRARY} PARENT_SCOPE)
set(SUNDIALS_LIBRARIES
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_ARKODE_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_CVODES_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_IDAS_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_KINSOL_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_NVECSERIAL_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLBAND_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLDENSE_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLPCG_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLSPBCGS_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLSPFGMR_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLSPGMR_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNLINSOLSPTFQMR_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNNONLINSOLFIXEDPOINT_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNNONLINSOLNEWTON_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNMATRIXBAND_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNMATRIXDENSE_LIBRARY}
${EXTERNAL_BINARIES_DIR}/${SUNDIALS_SUNMATRIXSPARSE_LIBRARY}
PARENT_SCOPE
)
# Add the plugin
add_plugin(${PACKAGE_NAME}
SOURCES
../../plugininfo.cpp
src/sundialsplugin.cpp
QT_MODULES
Core
EXTERNAL_BINARIES_DIR
${EXTERNAL_BINARIES_DIR}
EXTERNAL_BINARIES
${EXTERNAL_BINARIES}
DEPENDS_ON
${DEPENDS_ON}
)