-
Notifications
You must be signed in to change notification settings - Fork 41
Improve nrnivmodl-core workflow and integration with nmodl/mod2c #388
Conversation
65fd5bd
to
bdd1aaf
Compare
@ferdonline @alexsavulescu @ohm314 @iomaganaris : I don't know Makefile well but I have significantly changed implementation to make scripts & makefie bit easy to understand. Take a quick look and we can see what needs to be changed. |
|
||
# copy mod files with include files. note that ${ROOT_DIR}/share |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea is we prepare the mod files here so that the makefile can be simpler?
Btw, for reference, maybe we can update https://user-images.githubusercontent.com/915100/53173802-ad701780-35e8-11e9-9d28-0441aecbf517.png (in #133 (comment))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ferdonline : main motivation for recompiling all mod files is to have flexibility in building special. For example, once CoreNeuron is installed, we want to compile mod files with mod2c
or nmodl
or different nmodl options or different compiler flags.
If inbuilt mod files are built inside libcoreneuron
, one has to completely re-install CoreNeuron with different flags of nmodl
. This is quite restrictive for new usage with NMODL. And hence, we no longer want to compile mod files inside libcoreneuron
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Btw, for reference, maybe we can update https://user-images.githubusercontent.com/915100/53173802-ad701780-35e8-11e9-9d28-0441aecbf517.png (in #133 (comment))
Could you provide the source of that? :)
Really cool to have dropped this old mode of building mods in the main Cmake and removed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice. Love the cleanup of the makefile! I just have a few questions/minor comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall. I don't have much to add on the comments of the others
@ferdonline : I agree that this could be further simplified and cleaned. I am thinking that we should make such change in separate PR so that we don't change too many things in the same PR (especially introducing new things with bash or python). With the current changes, I am more or less confident that it won't break too many things :) |
Please retest |
- remove destination option - avoid re-compilation of mod files - minor cleanup of makefile - remove unused variables and install target
- install special-core as nrniv-core - install libcorenrnmech into bin directory - rmeove unused cmake code
1c87231
to
8dfa544
Compare
Please retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good!
…eBrain/CoreNeuron#388) * nrnivmodl-core cleanup - remove destination option - avoid re-compilation of mod files - minor cleanup of makefile - remove unused variables and install target * Remove unused CMake module and code for new workflow - remove libnrnmech which is not used (?) - install special-core as nrniv-core - install libcorenrnmech into bin directory - rmeove unused cmake code * install mod files from /share * fix test links * Add dependency between coreneuron_test for mech library * linking fixes for GPU build * Small changes/refactoring in nrnivmodl-core.in * Refactoring of target rules * Cleanup makefile rules more * Add dependency with nmodl target * Change INSTALL_ to CORENRN_ prefix and address review comment * Build libcornrnmech static one always required for nrniv-core * Add CLI option to choose static or shared build CoreNEURON Repo SHA: BlueBrain/CoreNeuron@cc85723
everyone now use nrnivmodl-core to build binary