File: NeuronFileLists.cmake

package info (click to toggle)
neuron 8.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,760 kB
  • sloc: cpp: 149,571; python: 58,465; ansic: 50,329; sh: 3,510; xml: 213; pascal: 51; makefile: 35; sed: 5
file content (601 lines) | stat: -rw-r--r-- 13,655 bytes parent folder | download | duplicates (3)
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
593
594
595
596
597
598
599
600
601
# =============================================================================
# Lists of header files to install
# =============================================================================
set(HEADER_FILES_TO_INSTALL
    cabvars.h
    cspmatrix.h
    cspredef.h
    hoc.h
    hoc_membf.h
    hocassrt.h
    hocdec.h
    hocgetsym.h
    hoclist.h
    hocparse.h
    isoc99.h
    ivstream.h
    mcran4.h
    md1redef.h
    md2redef.h
    mech_api.h
    membdef.h
    membfunc.h
    multicore.h
    multisplit.h
    neuron.h
    newton_struct.h
    nmodlmutex.h
    nrn_ansi.h
    nrnapi.h
    nrnassrt.h
    nrncvode.h
    nrnisaac.h
    nrniv_mf.h
    nrnoc_ml.h
    nrnmpi.h
    nrnmpidec.h
    nrnrandom.h
    nrnran123.h
    nrnredef.h
    nrnversionmacros.h
    oc_ansi.h
    ocfunc.h
    ocmisc.h
    options.h
    scoplib.h
    section.h
    spconfig.h
    spmatrix.h)

# =============================================================================
# Lists of headers populated using check_include_files
# =============================================================================
set(NRN_HEADERS_INCLUDE_LIST)

# =============================================================================
# Lists of random number related files
# =============================================================================
set(RAN_FILE_LIST isaac64.cpp mcran4.cpp nrnisaac.cpp nrnran123.cpp)

# =============================================================================
# Files in oc directory
# =============================================================================
set(OC_FILE_LIST
    ${RAN_FILE_LIST}
    audit.cpp
    axis.cpp
    code.cpp
    code2.cpp
    debug.cpp
    fileio.cpp
    fmenu.cpp
    ftime.cpp
    functabl.cpp
    getsym.cpp
    hoc.cpp
    hocusr.cpp
    hoc_init.cpp
    hoc_oop.cpp
    isoc99.cpp
    list.cpp
    math.cpp
    mswinprt.cpp
    nonlin.cpp
    nrnfilewrap.cpp
    ocerf.cpp
    parallel.cpp
    plot.cpp
    plt.cpp
    regexp.cpp
    scoprand.cpp
    settext.cpp
    symbol.cpp
    version.cpp
    x.cpp
    xred.cpp)

# =============================================================================
# Files in nrnoc directory
# =============================================================================
set(NRNOC_FILE_LIST
    cabcode.cpp
    capac.cpp
    clamp.cpp
    eion.cpp
    extcelln.cpp
    fadvance.cpp
    fstim.cpp
    hocprax.cpp
    init.cpp
    ldifus.cpp
    method3.cpp
    nrnnemo.cpp
    nrntimeout.cpp
    nrnversion.cpp
    nrnversion.h
    passive0.cpp
    point.cpp
    psection.cpp
    seclist.cpp
    secref.cpp
    solve.cpp
    synapse.cpp
    treeset.cpp)

# =============================================================================
# Files in ivoc directory
# =============================================================================
set(IVOC_FILE_LIST
    apwindow.cpp
    axis.cpp
    bndedval.cpp
    cbwidget.cpp
    checkpnt.cpp
    epsprint.cpp
    fourier.cpp
    gifimage.cpp
    graph.cpp
    graphvec.cpp
    grglyph.cpp
    grmanip.cpp
    hocmark.cpp
    htlist.cpp
    idraw.cpp
    ivoc.cpp
    ivocmain.cpp
    ivocrand.cpp
    ivocvect.cpp
    matrix.cpp
    mlinedit.cpp
    mymath.cpp
    objcmd.cpp
    oc2iv.cpp
    ocbox.cpp
    ocbrowsr.cpp
    ocdeck.cpp
    ocfile.cpp
    ochelp.cpp
    oclist.cpp
    ocmatrix.cpp
    ocnoiv1.cpp
    ocobserv.cpp
    ocpicker.cpp
    ocpointer.cpp
    ocptrvector.cpp
    octimer.cpp
    pwman.cpp
    rect.cpp
    rubband.cpp
    scene.cpp
    scenepic.cpp
    strfun.cpp
    symchoos.cpp
    utility.cpp
    xmenu.cpp
    xyview.cpp)
if(MINGW)
  list(APPEND IVOC_FILE_LIST ivocwin.cpp)
else()
  list(APPEND IVOC_FILE_LIST field.cpp xdep.cpp)
endif()

# =============================================================================
# Files in nrniv directory
# =============================================================================
set(NRNIV_FILE_LIST
    backtrace_utils.cpp
    bbs.cpp
    bbsavestate.cpp
    bbsdirect.cpp
    bbslocal.cpp
    bbslsrv.cpp
    bbslsrv2.cpp
    bbsrcli.cpp
    bbssrv.cpp
    cachevec.cpp
    classreg.cpp
    cxprop.cpp
    datapath.cpp
    finithnd.cpp
    geometry3d.cpp
    glinerec.cpp
    hocmech.cpp
    impedanc.cpp
    kschan.cpp
    kssingle.cpp
    linmod.cpp
    linmod1.cpp
    matrixmap.cpp
    multisplit.cpp
    ndatclas.cpp
    netpar.cpp
    nonlinz.cpp
    nrncore_write.cpp
    nrncore_write/callbacks/nrncore_callbacks.cpp
    nrncore_write/data/cell_group.cpp
    nrncore_write/data/datum_indices.cpp
    nrncore_write/io/nrncore_io.cpp
    nrncore_write/utils/nrncore_utils.cpp
    nrndae.cpp
    nrnmenu.cpp
    nrnpy.cpp
    nrnste.cpp
    nvector_nrnserial_ld.cpp
    nvector_nrnthread.cpp
    nvector_nrnthread_ld.cpp
    ocbbs.cpp
    ocjump.cpp
    partrans.cpp
    ppshape.cpp
    prcellstate.cpp
    pysecname2sec.cpp
    rotate3d.cpp
    savstate.cpp
    secbrows.cpp
    shape.cpp
    shapeplt.cpp
    singlech.cpp
    spaceplt.cpp
    splitcell.cpp
    symdir.cpp
    vrecord.cpp)

# =============================================================================
# Files in nrncvode directory
# =============================================================================
set(NRNCVODE_FILE_LIST
    cvodeobj.cpp
    cvodestb.cpp
    cvtrset.cpp
    netcvode.cpp
    nrndaspk.cpp
    occvode.cpp
    tqueue.cpp)

# =============================================================================
# Files in sundials directory
# =============================================================================
nrn_create_file_list(
  SUNDIALS_CVODES
  "${PROJECT_SOURCE_DIR}/src/sundials/cvodes"
  cvband.c
  cvbandpre.c
  cvbbdpre.c
  cvdense.c
  cvdiag.c
  cvodea.c
  cvodes.c
  cvodesio.c
  cvspgmr.c)

nrn_create_file_list(
  SUNDIALS_IDA
  "${PROJECT_SOURCE_DIR}/src/sundials/ida"
  idaband.c
  idabbdpre.c
  ida.c
  idadense.c
  idaic.c
  idaio.c
  idaspgmr.c)
nrn_create_file_list(
  SUNDIALS_SHARED
  "${PROJECT_SOURCE_DIR}/src/sundials/shared"
  band.c
  dense.c
  iterative.c
  nvector.c
  nvector_serial.c
  smalldense.c
  spgmr.c
  sundialsmath.c)
set(NRN_SUNDIALS_SRC_FILES ${SUNDIALS_CVODES} ${SUNDIALS_IDA} ${SUNDIALS_SHARED})

# meschach matrix sources
set(MESCH_FILES_LIST
    arnoldi.c
    bdfactor.c
    bkpfacto.c
    chfactor.c
    arnoldi.c
    bdfactor.c
    bkpfacto.c
    chfactor.c
    conjgrad.c
    copy.c
    dmacheps.c
    err.c
    extras.c
    fft.c
    givens.c
    hessen.c
    hsehldr.c
    init.c
    iter0.c
    iternsym.c
    itersym.c
    ivecop.c
    lanczos.c
    lufactor.c
    machine.c
    matlab.c
    matop.c
    matrixio.c
    meminfo.c
    memory.c
    memstat.c
    mfunc.c
    norm.c
    otherio.c
    pxop.c
    qrfactor.c
    schur.c
    solve.c
    sparse.c
    sparseio.c
    spbkp.c
    spchfctr.c
    splufctr.c
    sprow.c
    spswap.c
    submat.c
    svd.c
    symmeig.c
    update.c
    vecop.c
    version.c
    zcopy.c
    zfunc.c
    zgivens.c
    zhessen.c
    zhsehldr.c
    zlufctr.c
    zmachine.c
    zmatio.c
    zmatlab.c
    zmatop.c
    zmemory.c
    znorm.c
    zqrfctr.c
    zschur.c
    zsolve.c
    zvecop.c)

set(SPARSE_FILES_LIST bksub.cpp getelm.cpp lineq.cpp prmat.cpp subrows.cpp)

# sparse13 matrix sources
set(SPARSE13_FILES_LIST
    spalloc.c
    spbuild.c
    spfactor.c
    spoutput.c
    spsolve.c
    sputils.c
    cspalloc.c
    cspbuild.c
    cspfactor.c
    cspoutput.c
    cspsolve.c
    csputils.c)

# scopmath sources
set(SCOPMATH_FILES_LIST
    abort.c
    adams.c
    adeuler.c
    adrunge.c
    advance.c
    boundary.c
    crank.c
    crout.c
    csoda.c
    csodabnc.c
    deflate.c
    dimplic.c
    scoperf.c
    euler.c
    expfit.c
    exprand.c
    f2cmisc.c
    factoria.c
    force.c
    gauss.c
    gear.c
    getmem.c
    harmonic.c
    heun.c
    hyperbol.c
    invert.c
    lag.c
    legendre.c
    newton.c
    normrand.c
    perpulse.c
    perstep.c
    poisrand.c
    poisson.c
    praxis.c
    pulse.c
    quad.c
    ramp.c
    revhyper.c
    revsawto.c
    revsigmo.c
    romberg.c
    runge.c
    sawtooth.c
    schedule.c
    seidel.c
    sigmoid.c
    simeq.c
    simplex.c
    sparse.c
    vsparse.c
    spline.c
    squarewa.c
    ssimplic.c
    step.c
    threshol.c
    tridiag.c
    sparse_thread.c
    newton_thread.c
    crout_thread.c
    ssimplic_thread.c)

set(NRNMPI_FILES_LIST nrnmpi.cpp bbsmpipack.cpp mpispike.cpp)

set(NRNGNU_FILES_LIST
    ACG.cpp
    Binomial.cpp
    DiscUnif.cpp
    Erlang.cpp
    Geom.cpp
    HypGeom.cpp
    LogNorm.cpp
    MLCG.cpp
    NegExp.cpp
    Normal.cpp
    Poisson.cpp
    RNG.cpp
    Random.cpp
    RndInt.cpp
    Uniform.cpp
    Weibull.cpp)

# nrnpython sources (only if ${NRN_ENABLE_PYTHON_DYNAMIC} is OFF}
set(NRNPYTHON_FILES_LIST
    nrnpython.cpp
    nrnpy_hoc.cpp
    nrnpy_nrn.cpp
    nrnpy_p2h.cpp
    grids.cpp
    rxd.cpp
    rxd_extracellular.cpp
    rxd_intracellular.cpp
    rxd_vol.cpp
    rxd_marching_cubes.cpp
    rxd_llgramarea.cpp)

# built-in mod files
set(MODFILE_BASE_NAMES
    apcount
    feature
    intfire2
    oclmp
    ppmark
    syn
    exp2syn
    hh
    intfire4
    passive
    stim
    vclmp
    expsyn
    intfire1
    netstim
    pattern
    svclmp)

set(MODLUNIT_FILES_LIST
    consist.cpp
    declare.cpp
    init.cpp
    io.cpp
    kinunit.cpp
    list.cpp
    model.cpp
    nrnunit.cpp
    passn.cpp
    symbol.cpp
    units.cpp
    units1.cpp
    version.cpp)

set(NMODL_FILES_LIST
    consist.cpp
    deriv.cpp
    discrete.cpp
    init.cpp
    io.cpp
    kinetic.cpp
    list.cpp
    modl.cpp
    nocpout.cpp
    noccout.cpp
    parsact.cpp
    netrec_discon.cpp
    partial.cpp
    sens.cpp
    simultan.cpp
    solve.cpp
    symbol.cpp
    units.cpp
    version.cpp)

set(IVOS_FILES_LIST listimpl.cpp math.cpp string.cpp observe.cpp regexp.cpp resource.cpp)

set(MPI_DYNAMIC_INCLUDE nrnmpi_dynam.h nrnmpi_dynam_cinc nrnmpi_dynam_wrappers.inc)

# =============================================================================
# Top level directories under src
# =============================================================================
set(NRN_OC_SRC_DIR ${PROJECT_SOURCE_DIR}/src/oc)
set(NRN_NRNOC_SRC_DIR ${PROJECT_SOURCE_DIR}/src/nrnoc)
set(NRN_IVOC_SRC_DIR ${PROJECT_SOURCE_DIR}/src/ivoc)
set(NRN_NRNCVODE_SRC_DIR ${PROJECT_SOURCE_DIR}/src/nrncvode)
set(NRN_NRNIV_SRC_DIR ${PROJECT_SOURCE_DIR}/src/nrniv)
set(NRN_MODLUNIT_SRC_DIR ${PROJECT_SOURCE_DIR}/src/modlunit)
set(NRN_NMODL_SRC_DIR ${PROJECT_SOURCE_DIR}/src/nmodl)
set(NRN_IVOS_SRC_DIR ${PROJECT_SOURCE_DIR}/src/ivos)

# =============================================================================
# Create source file lists by gathering from various directories
# =============================================================================
nrn_create_file_list(NRN_OC_SRC_FILES ${NRN_OC_SRC_DIR} ${OC_FILE_LIST})
nrn_create_file_list(NRN_NRNOC_SRC_FILES ${NRN_NRNOC_SRC_DIR} ${NRNOC_FILE_LIST})
nrn_create_file_list(NRN_IVOC_SRC_FILES ${NRN_IVOC_SRC_DIR} ${IVOC_FILE_LIST})
nrn_create_file_list(NRN_NRNCVODE_SRC_FILES ${NRN_NRNCVODE_SRC_DIR} ${NRNCVODE_FILE_LIST})
nrn_create_file_list(NRN_NRNIV_SRC_FILES ${NRN_NRNIV_SRC_DIR} ${NRNIV_FILE_LIST})
nrn_create_file_list(NRN_PARALLEL_SRC_FILES ${PROJECT_SOURCE_DIR}/src/nrniv
                     nvector_nrnparallel_ld.cpp)
nrn_create_file_list(NRN_PARALLEL_SRC_FILES ${PROJECT_SOURCE_DIR}/src/sundials/shared
                     nvector_parallel.c)
nrn_create_file_list(NRN_MESCH_SRC_FILES ${PROJECT_SOURCE_DIR}/src/mesch ${MESCH_FILES_LIST})
nrn_create_file_list(NRN_SPARSE_SRC_FILES ${PROJECT_SOURCE_DIR}/src/sparse ${SPARSE_FILES_LIST})
nrn_create_file_list(NRN_SPARSE13_SRC_FILES ${PROJECT_SOURCE_DIR}/src/sparse13
                     ${SPARSE13_FILES_LIST})
nrn_create_file_list(NRN_SCOPMATH_SRC_FILES ${PROJECT_SOURCE_DIR}/src/scopmath
                     ${SCOPMATH_FILES_LIST})
nrn_create_file_list(NRN_NRNMPI_SRC_FILES ${PROJECT_SOURCE_DIR}/src/nrnmpi ${NRNMPI_FILES_LIST})
nrn_create_file_list(NRN_NRNGNU_SRC_FILES ${PROJECT_SOURCE_DIR}/src/gnu ${NRNGNU_FILES_LIST})
nrn_create_file_list(NRN_NRNPYTHON_SRC_FILES ${PROJECT_SOURCE_DIR}/src/nrnpython
                     ${NRNPYTHON_FILES_LIST})
nrn_create_file_list(NRN_MODFILE_BASE_NAMES ${PROJECT_SOURCE_DIR}/src/nrnoc ${MODFILE_BASE_NAMES})
nrn_create_file_list(NRN_BIN_SRC_FILES ${PROJECT_SOURCE_DIR}/src/ivoc/ nrnmain.cpp)
nrn_create_file_list(NRN_BIN_SRC_FILES ${PROJECT_SOURCE_DIR}/src/oc/ ockludge.cpp modlreg.cpp)
nrn_create_file_list(NRN_MODLUNIT_SRC_FILES ${NRN_MODLUNIT_SRC_DIR} ${MODLUNIT_FILES_LIST})
nrn_create_file_list(NRN_NMODL_SRC_FILES ${NRN_NMODL_SRC_DIR} ${NMODL_FILES_LIST})
nrn_create_file_list(NRNMPI_DYNAMIC_INCLUDE_FILE ${PROJECT_SOURCE_DIR}/src/nrnmpi
                     ${MPI_DYNAMIC_INCLUDE})
nrn_create_file_list(NRN_IVOS_SRC_FILES ${NRN_IVOS_SRC_DIR} ${IVOS_FILES_LIST})
list(APPEND NRN_OC_SRC_FILES ${PROJECT_BINARY_DIR}/src/oc/hocusr.h)

# =============================================================================
# Create mswin install lists needed for setup_exe target
# =============================================================================
if(MINGW)
  set(MSWIN_SRC_DIR ${PROJECT_SOURCE_DIR}/src/mswin)
  nrn_create_file_list(MSWIN_FILES ${PROJECT_SOURCE_DIR}/src/parallel test0.hoc test0.py)
  list(APPEND MSWIN_FILES ${MSWIN_SRC_DIR}/notes.txt)
  nrn_create_file_list(MSWIN_BIN_FILES ${MSWIN_SRC_DIR} nrniv.ico nrniv10.ico nmodl2a.ico)
  nrn_create_file_list(
    MSWIN_LIB_FILES
    ${MSWIN_SRC_DIR}/lib
    bshstart.sh
    neuron2.sh
    neuron3.sh
    mknrndl2.sh
    mknrndll.sh
    modlunit.sh)
  list(APPEND MSWIN_LIB_FILES ${PROJECT_BINARY_DIR}/src/mswin/lib/mknrndll.mak)
endif()