-
Notifications
You must be signed in to change notification settings - Fork 113
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
cmake: export targets, allow to build models via CMake #2746
base: master
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
✔️ f182db7 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ 596e09b -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2746 +/- ##
==========================================
- Coverage 67.20% 67.20% -0.01%
==========================================
Files 563 563
Lines 104246 104248 +2
==========================================
- Hits 70057 70056 -1
- Misses 34189 34192 +3 ☔ View full report in Codecov by Sentry. |
This comment has been minimized.
This comment has been minimized.
Please retry analysis of this Pull-Request directly on SonarCloud |
✔️ e75b5a0 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This PR aims to allow dependent projects to build their models via CMake rather than a combination of shell scripts and Makefiles. In the long term, this may help facilitate building natively on Windows. To try: ``` git clone -b imported-main https://github.com/BlueBrain/neurodamus-models.git cd neurodamus-models ``` Create a `CMakeLists.txt` with contents like: ```cmake cmake_minimum_required(VERSION 3.28) project(newrodamus) find_package(neuron REQUIRED) create_libnrnmech(MOD_FILES neocortex/mod/v6/CaDynamics_DC0.mod neocortex/mod/v6/Ca_HVA2.mod neocortex/mod/v6/Ca_LVAst.mod neocortex/mod/v6/DetAMPANMDA.mod neocortex/mod/v6/DetGABAAB.mod neocortex/mod/v6/GluSynapse.mod neocortex/mod/v6/Ih.mod neocortex/mod/v6/K_Pst.mod neocortex/mod/v6/K_Tst.mod neocortex/mod/v6/KdShu2007.mod neocortex/mod/v6/NaTg.mod neocortex/mod/v6/Nap_Et2.mod neocortex/mod/v6/ProbAMPANMDA_EMS.mod neocortex/mod/v6/ProbGABAAB_EMS.mod neocortex/mod/v6/SK_E2.mod neocortex/mod/v6/SKv3_1.mod neocortex/mod/v6/StochKv3.mod neocortex/mod/v6/TTXDynamicsSwitch.mod neocortex/mod/v6/VecStim.mod neocortex/mod/v6/gap.mod neocortex/mod/v6/netstim_inhpoisson.mod ) ``` Then build and install: ``` cmake -B build -S . -GNinja -DCMAKE_INSTALL_PREFIX=x86_64 cmake --build build cmake --install build ``` To be continued‥
This comment has been minimized.
This comment has been minimized.
✔️ ed29f50 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ 9503627 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ 1865875 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
Requires neuronsimulator/nrn#2746 Will use the CMake glue installed by (hopefully) a future Neuron to forego calling Bash & Make via `nrnivmodl`. Allows to properly link targets for additional libraries, and avoids passing around long strings of include and link parameters.
✔️ 9ac0537 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
|
✔️ 27e37cf -> Azure artifacts URL |
This PR aims to allow dependent projects to build their models via CMake
rather than a combination of shell scripts and Makefiles. In the long
term, this may help facilitate building natively on Windows.
To try:
Create a
CMakeLists.txt
with contents like:Then build and install:
See BlueBrain/neurodamus-models#12 for an example use case.
To be continued‥