Skip to content
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

Windows build and NeuroML2 support #485

Closed
wants to merge 60 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
4268e40
Fixed typo in macro check for BOOST
subhacom May 20, 2024
6d0b9e8
Updates for Windows MSVC build
subhacom May 25, 2024
d6bc7ff
Minor fixup for platform check with WIN32 macro
subhacom Jun 12, 2024
1d8de04
Fixup for getopt on Windows
subhacom Jun 12, 2024
035ee0e
Trying c++11 for mac build to fix syntax issue
subhacom Jun 12, 2024
965d1a1
Attempt to fix build
subhacom Jun 12, 2024
e71ce2f
Fixes to build configs
subhacom Jun 12, 2024
5756e38
Fixed lib name for moose used in linking moose.bin
subhacom Jun 12, 2024
0cd5950
Build updates for WIN32/MSVC
subhacom Jun 20, 2024
7906424
Trying to fix syntax error from newer C++ standard
subhacom Jun 20, 2024
e3d6607
Fixed cmake file to not include extern/getopt on non-win32
subhacom Jun 20, 2024
b8eb0ba
Try fixing apple build
subhacom Jun 20, 2024
caeeab5
Added a guide for setting up moose on WSL2
subhacom Jul 2, 2024
130b674
Correction in wsl guide
subhacom Jul 2, 2024
f02bc6f
Added troubleshooting advice for WSL.
subhacom Jul 2, 2024
7e8427c
Added guide for mac build
subhacom Jul 3, 2024
c0e0229
Updated mac build/installation guide
subhacom Jul 3, 2024
0ca6b94
Added meson build files
subhacom Jul 7, 2024
e4b7655
Finally, working windows build with meson
subhacom Jul 9, 2024
52bf161
Windows MSVC build working with meson.
subhacom Jul 10, 2024
258424a
Minor fixes to meson build and pyproject
subhacom Jul 15, 2024
6c1016f
Fixed typo.
subhacom Jul 15, 2024
2aac80f
Some more cleanup in meson build
subhacom Jul 15, 2024
629d00d
meson build updated for Ubuntu (tested on WSL)
subhacom Jul 16, 2024
ce9cb73
Windows portability fix
subhacom Jul 17, 2024
c3534b5
Code cleanup of morphology reading
subhacom Jul 19, 2024
8c4db05
Fixes to NeuroML2 reader
subhacom Jul 30, 2024
da455e2
Removed optimization in favor of simplicity
subhacom Jul 30, 2024
8cdacb7
Support for voltage and Ca dependent channel in NeuroML2 reader
subhacom Jul 30, 2024
717e0a9
Merge branch 'windows_build'
subhacom Aug 23, 2024
f7dec7b
Got 2D channel to work when reading in NeuroML2
subhacom Aug 26, 2024
8b9f01c
Further cleanup of neuroml2 reader
subhacom Aug 26, 2024
5d58ac0
Minor fix in neuroml2 reader
subhacom Aug 27, 2024
9f85fe9
Fixed small bug in neuroml2 reader
subhacom Aug 28, 2024
4c0b13c
Cleanup of build process.
subhacom Aug 31, 2024
a20c95b
Windows build working, HHChannel fixed, pymoose cleaned up
subhacom Sep 3, 2024
584394f
HHChannel2D cleanup
subhacom Sep 3, 2024
3cc2291
Minor fix for non-conda build
subhacom Oct 3, 2024
575760e
neuroml2 reader: Added option to use interpolation by default
subhacom Oct 18, 2024
5c325c1
Added instructions on build options
subhacom Oct 27, 2024
7c82f69
Minor update of build instructions.
subhacom Oct 27, 2024
38fc00f
Added moose class/object check in moose.isinstance_ function
subhacom Nov 8, 2024
bf294b8
Updated exprtk and fixed some deprecation warnings from meson
subhacom Nov 9, 2024
15c8b44
attempt to fix workflow
subhacom Nov 9, 2024
ecfa505
Fixed tab issues in workflow
subhacom Nov 9, 2024
3cd5d0e
Update pymoose.yml
subhacom Nov 9, 2024
fa3b764
Update pymoose.yml: tab and space mixup in github editor
subhacom Nov 9, 2024
65b8ea6
Another attempt at fixing github workflow
subhacom Nov 9, 2024
f1d9981
Merge branch 'windows_build' of https://github.com/subhacom/moose-cor…
subhacom Nov 9, 2024
863d7f7
Fixing github actions to build
subhacom Nov 9, 2024
cbba8a5
github actions: fix for meson installation on ubuntu-lates
subhacom Nov 9, 2024
1c143e6
github actions: fix ninja installation on ubuntu latest
subhacom Nov 9, 2024
6c4b99a
github actions: further fix for ubuntu
subhacom Nov 9, 2024
ab7d52a
Fixing automatic build
subhacom Nov 10, 2024
7e67573
Fix github action
subhacom Nov 10, 2024
9537a5c
Further fix to github action: activateing mamba env
subhacom Nov 10, 2024
9159696
github actions: Avoid pip upgared
subhacom Nov 10, 2024
17f91bb
github action fixes
subhacom Nov 10, 2024
45f4341
github actions: try to fix gsl availability
subhacom Nov 10, 2024
fc5f053
Merge branch 'master' of https://github.com/BhallaLab/moose-core into…
subhacom Nov 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ PenaltyReturnTypeOnItsOwnLine: 200
PointerBindsToType: true
SpacesBeforeTrailingComments: 2
Cpp11BracedListStyle: true
Standard: Auto
IndentWidth: 4
TabWidth: 4
UseTab: Never
Expand Down
37 changes: 29 additions & 8 deletions .github/workflows/pymoose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-14]
os: [ubuntu-latest, macos-14, windows-latest]
build_type: [Release]
c_compiler: [clang]
python-version: ["3.12"]
Expand All @@ -16,6 +16,8 @@ jobs:
apt: 10
- os: macos-14
brew: 20
- os: windows-latest
winget: 30
steps:
- name: mamba-setup
uses: mamba-org/setup-micromamba@v1
Expand All @@ -25,7 +27,10 @@ jobs:
cache-downloads: true
create-args: >-
python=${{ matrix.python-version }}
pkg-config
clang
hdf5
pybind11[global]
graphviz
pytables
numpy
Expand All @@ -35,25 +40,41 @@ jobs:
doxygen
setuptools
wheel
meson
ninja
meson-python
gsl
post-cleanup: all
generate-run-shell: false
- name: Display Python version
run: |
python -c "import sys; print(sys.version)"
- if: ${{ matrix.apt }}
run: sudo apt-get install libhdf5-dev libgsl0-dev graphviz-dev python3-lxml cmake doxygen
run: |
sudo apt-get -y install libhdf5-dev libgsl0-dev graphviz-dev python3-lxml doxygen libgsl-dev
- if: ${{ matrix.brew }}
run: |
brew install gsl
brew install hdf5
brew install graphviz
brew install cmake
brew install doxygen
- name: install python module dependencies via pip
run: |
pip install pybind11[global]
pip install python-libsbml
- name: checkout
uses: actions/checkout@v4
- name: build and install
- name: build and install (non-windows)
if: runner.os != 'Windows'
run: |
eval "$(micromamba shell hook --shell bash)"
micromamba activate moose
python -c "import sys; print('#' * 60, sys.version)"
pip install python-libsbml
pip install .
python -c "import moose; moose.le()"
- name: build and install (windows)
if: runner.os == 'Windows'
run: |
micromamba shell hook -s powershell | Out-String | Invoke-Expression
micromamba activate moose
python -c "import sys; print('#' * 60, sys.version)"
pip install python-libsbml
pip install .
python -c "import moose; moose.le()"
27 changes: 27 additions & 0 deletions AppleM1_Guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
- Install homebrew: https://brew.sh/
- Set up required development environment
- Install command line tools for XCode
- Install build dependencies by running these commands in a terminal
```
brew install gsl
brew install hdf5
brew install graphviz
brew install cmake
brew install doxygen
```

- Install anaconda/miniconda/micromamba/miniforge. For example, for micromamba, run
```
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)
```

in command line
- Update micromamba: `micromamba self-update`
- Restart terminal and create an environment with necessary packages:

```
micromamba create -n moose hdf5 graphviz pytables numpy matplotlib vpython lxml doxygen setuptools wheel pybind11[global]
```
- Activate the moose environment: `micromamba activate moose`
- Install libsbml: `pip install python-libsbml`
- Install moose from github: `pip install git+https://github.com/BhallaLab/moose-core.git`
Loading