-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge NMODL CMakeLists.txt
#3272
base: master
Are you sure you want to change the base?
Conversation
NMODL Repo SHA: BlueBrain/nmodl@5366532
NMODL Repo SHA: BlueBrain/nmodl@73bf358
* Remove INCLUDE mod file generation in tests - include mod files generation cause race condition with parallel tests, see BlueBrain/nmodl#1290 - the included files are trivial examples for testing and they don't need to be generated from the code - could be copied via configure_file - cmake could generate those at a configure time Considering the use case and it's triviality, I thought 2nd option is better. That also allows to remove some extra code/logic. NMODL Repo SHA: BlueBrain/nmodl@844e6bd
--------- Co-authored-by: Nicolas Cornu <[email protected]> NMODL Repo SHA: BlueBrain/nmodl@751377d
NMODL Repo SHA: BlueBrain/nmodl@3754a71
The new structure is to have one directory per keyword. Tests can be organized in separate test files, named test_*.py (or simulate.py if that's a better name). Numerous tests have been polished to make them easier to read, using better names and functions to extract common functionality. NMODL Repo SHA: BlueBrain/nmodl@cc44ecb
The executable from the Python library. NMODL Repo SHA: BlueBrain/nmodl@c5ecfea
The changes are: * Don't forcefully set the PYTHONPATH. * Replace false object oriented code with a function (each). * Replace a global variable, with a function to initialize. * Use a reference for a pointer that's should never be a nullptr. NMODL Repo SHA: BlueBrain/nmodl@2636b4e
Frequently `_lmr` is passed by pointer, which requires printing: ``` foo(&_lmr, ...); ``` the `&` is annoying, because it prevents us from using `get_arg_str`. It also sometimes leads us to do: ``` auto * _ml = &_lmr; ``` which is bad, because it's not a `Memb_list`. * Rename '_lmr' to '_lmc'. NMODL Repo SHA: BlueBrain/nmodl@13550d7
There must not be a clash of FUNCTION and RANGE names. NMODL Repo SHA: BlueBrain/nmodl@d226bef
NMODL Repo SHA: BlueBrain/nmodl@e5964fe
NMODL Repo SHA: BlueBrain/nmodl@64cf627
These are global variables, and when THREAD_SAFE act like thread variables, without being exposed to HOC/Python. NMODL Repo SHA: BlueBrain/nmodl@e9e127a
Similar to BlueBrain/nmodl#1305, include the solver headers in variables in a C++ header, and include them in the code generated for the MOD files. This should allow to substitute different NMODL binaries in NEURON builds without confusion as to which solver headers are going to be included in the MOD file compilation. NMODL Repo SHA: BlueBrain/nmodl@7910146
NMODL Repo SHA: BlueBrain/nmodl@a209d0a
✔️ e05104d -> Azure artifacts URL |
`from neuron import nmodl` should just work™ now
630f11c
to
90e02ff
Compare
Hey @pramodk, glad to have you back! I think I got most of the way there as far as the CMake integration is concerned. I suspect the 3 failing tests are related to this snippet: nrn/test/nmodl/transpiler/unit/CMakeLists.txt Lines 181 to 183 in 9f8624f
I.e. instead of I will be away for the next couple of weeks so it'd be great if you could work on this. |
✔️ 9f8624f -> Azure artifacts URL |
✔️ 3ceeec0 -> Azure artifacts URL |
✔️ dce10e9 -> Azure artifacts URL |
✔️ 058ab43 -> Azure artifacts URL |
Quality Gate passedIssues Measures |
✔️ a2023c9 -> Azure artifacts URL |
No description provided.