Skip to content

Commit

Permalink
Add individual instructions in seperate files
Browse files Browse the repository at this point in the history
  • Loading branch information
GMarupilla committed Apr 9, 2020
1 parent c96fd05 commit cf2d9d1
Show file tree
Hide file tree
Showing 4 changed files with 168 additions and 107 deletions.
112 changes: 5 additions & 107 deletions README_localSolverBuilds.md
Original file line number Diff line number Diff line change
@@ -1,117 +1,15 @@
# Compiling and building VCell-Solvers locally

## For all platforms
- clone the repo
- clone the repo `git clone https://github.com/virtualcell/vcell-solvers.git`

<img align="left" width="32px" id="windows" src="https://raw.githubusercontent.com/virtualcell/vcell-solvers/readme_instructions/asserts/windows.png">
<h4>Windows</h4>
<br style="clear:both"/>
- For setting up project in Windows platform find [here](Readme_windows.md)

### Instructions for Windows
- Requirements:
- git
- MinGW
1. Download and install the latest MinGW for windows
2. Open MinGW
- Download and install these dependencies
```
pacman -S git
pacman --noconfirm -Syu
pacman --noconfirm -Syyu python mingw-w64-x86_64-gcc
pacman --noconfirm -S msys/git
pacman --noconfirm -S mingw64/mingw-w64-x86_64-gcc-fortran
pacman --noconfirm -S mingw64/mingw-w64-x86_64-cmake
pacman --noconfirm -S mingw64/mingw-w64-x86_64-doxygen
pacman --noconfirm -S msys/make
pacman --noconfirm -S mingw-w64-x86_64-pkg-config
pacman --noconfirm -S mingw-w64-x86_64-hdf5
pacman --noconfirm -S mingw-w64-x86_64-libzip
pacman --noconfirm -S mingw-w64-x86_64-netcdf
```
3. For building solvers manually from MinGW, redirect to vcell-solvers directory
- `mkdir -p build/bin`
- For building all solvers
```
cmake -G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE="Release" \
-DOPTION_TARGET_MESSAGING=OFF \
-DOPTION_TARGET_PARALLEL=OFF \
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF \
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF \
-DOPTION_TARGET_SMOLDYN_SOLVER=ON \
-DOPTION_TARGET_FV_SOLVER=ON \
-DOPTION_TARGET_STOCHASTIC_SOLVER=ON \
-DOPTION_TARGET_NFSIM_SOLVER=ON \
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF \
-DOPTION_TARGET_SUNDIALS_SOLVER=ON \
-DOPTION_TARGET_HY3S_SOLVERS=OFF \
..
```
`make`
- For setting up project in Linux platform find [here](Readme_linux.md)

For building NFSim
```
cmake -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
-DCMAKE_EXE_LINKER_FLAGS="-static" \
-DOPTION_TARGET_MESSAGING=OFF \
-DOPTION_TARGET_PARALLEL=OFF \
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF \
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF \
-DOPTION_TARGET_SMOLDYN_SOLVER=OFF \
-DOPTION_TARGET_FV_SOLVER=OFF \
-DOPTION_TARGET_STOCHASTIC_SOLVER=OFF \
-DOPTION_TARGET_NFSIM_SOLVER=ON \
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF \
-DOPTION_TARGET_SUNDIALS_SOLVER=OFF \
-DOPTION_TARGET_HY3S_SOLVERS=OFF \
..
```
`make`
:exclamation:**Note: Remove wrongly built NFSim solver and build seperately
- For setting up project in Macos platform find [here](Readme_macos.md)

<img align="left" width="32px" id="linux" src="https://raw.githubusercontent.com/virtualcell/vcell-solvers/readme_instructions/asserts/ubuntu.png">
<h4>Ubuntu</h4>
<br style="clear:both"/>
## Debugging

### Instructions for Ubuntu
- Requirements:
- git
- cmake
- CLION
1. For configuring the project
1. Open CLION go to `File > settings > Build, Execution, Deployement > Toolchains > +`
Let it detect everything automatically `CMake`, `Make`, `C Complier`, `C++ Compiler` and `Debugger`
2. Configure CMake `File > settings > Build, Execution, Deployement > CMake > +`
a. Build type as `Default`
b. Give `CMake options`
For all solvers
```
-DCMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu/"
-DOPTION_TARGET_MESSAGING=OFF
-DOPTION_TARGET_PARALLEL=OFF
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF
-DOPTION_TARGET_SMOLDYN_SOLVER=ON
-DOPTION_TARGET_FV_SOLVER=ON
-DOPTION_TARGET_STOCHASTIC_SOLVER=ON
-DOPTION_TARGET_NFSIM_SOLVER=ON
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF
-DOPTION_TARGET_SUNDIALS_SOLVER=ON
-DOPTION_TARGET_HY3S_SOLVERS=OFF
```
c. Generation path `build/bin`
d. Apply all these changes builds every solver in `bin` directory.
<img align="left" width="32px" id="mac-osx" src="https://raw.githubusercontent.com/virtualcell/vcell-solvers/readme_instructions/asserts/macos.png">
<h4>Mac OS X (Legacy)</h4>
<br style="clear:both"/>
### Instructions for Mac
### Debugging
1. Program arguments

2. Environment variables
Expand Down
35 changes: 35 additions & 0 deletions Readme_linux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<img align="left" width="32px" id="linux" src="https://raw.githubusercontent.com/virtualcell/vcell-solvers/readme_instructions/asserts/ubuntu.png">
<h4>Ubuntu</h4>
<br style="clear:both"/>

# Requirements

- git
- cmake
- CLION

## For configuring the project

1. Open CLION go to `File > settings > Build, Execution, Deployement > Toolchains > +`
Let it detect everything automatically `CMake`, `Make`, `C Complier`, `C++ Compiler` and `Debugger`
2. Configure CMake `File > settings > Build, Execution, Deployement > CMake > +`
- Build type as `Default`
- Give `CMake options`
For all solvers

```
-DCMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu/"
-DOPTION_TARGET_MESSAGING=OFF
-DOPTION_TARGET_PARALLEL=OFF
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF
-DOPTION_TARGET_SMOLDYN_SOLVER=ON
-DOPTION_TARGET_FV_SOLVER=ON
-DOPTION_TARGET_STOCHASTIC_SOLVER=ON
-DOPTION_TARGET_NFSIM_SOLVER=ON
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF
-DOPTION_TARGET_SUNDIALS_SOLVER=ON
-DOPTION_TARGET_HY3S_SOLVERS=OFF
```
- Generation path `build/bin`
- Apply all these changes, that builds every solver in `bin` directory.
3 changes: 3 additions & 0 deletions Readme_macos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<img align="left" width="32px" id="mac-osx" src="https://raw.githubusercontent.com/virtualcell/vcell-solvers/readme_instructions/asserts/macos.png">
<h4>Mac OS X (Legacy)</h4>
<br style="clear:both"/>
125 changes: 125 additions & 0 deletions Readme_windows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<img align="left" width="32px" id="windows" src="https://raw.githubusercontent.com/virtualcell/vcell-solvers/readme_instructions/asserts/windows.png">
<h4>Windows</h4>
<br style="clear:both"/>


# Requirements:

- git
- MinGW

1. Download and install the latest MinGW for windows
2. Open MinGW
- Download and install these dependencies

```
pacman -S git
pacman --noconfirm -Syu
pacman --noconfirm -Syyu python mingw-w64-x86_64-gcc
pacman --noconfirm -S msys/git
pacman --noconfirm -S mingw64/mingw-w64-x86_64-gcc-fortran
pacman --noconfirm -S mingw64/mingw-w64-x86_64-cmake
pacman --noconfirm -S mingw64/mingw-w64-x86_64-doxygen
pacman --noconfirm -S msys/make
pacman --noconfirm -S mingw-w64-x86_64-pkg-config
pacman --noconfirm -S mingw-w64-x86_64-hdf5
pacman --noconfirm -S mingw-w64-x86_64-libzip
pacman --noconfirm -S mingw-w64-x86_64-netcdf
```
## For building solvers manually from MinGW
- redirect to vcell-solvers directory
- `mkdir -p build/bin`
- For building all solvers
```bash
cmake -G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE="Release" \
-DOPTION_TARGET_MESSAGING=OFF \
-DOPTION_TARGET_PARALLEL=OFF \
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF \
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF \
-DOPTION_TARGET_SMOLDYN_SOLVER=ON \
-DOPTION_TARGET_FV_SOLVER=ON \
-DOPTION_TARGET_STOCHASTIC_SOLVER=ON \
-DOPTION_TARGET_NFSIM_SOLVER=ON \
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF \
-DOPTION_TARGET_SUNDIALS_SOLVER=ON \
-DOPTION_TARGET_HY3S_SOLVERS=OFF \
..
```
`make`
- :exclamation:**Note: Remove wrongly built NFSim solver and build seperately
For building NFSim
- `make clean`
```
cmake -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
-DCMAKE_EXE_LINKER_FLAGS="-static" \
-DOPTION_TARGET_MESSAGING=OFF \
-DOPTION_TARGET_PARALLEL=OFF \
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF \
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF \
-DOPTION_TARGET_SMOLDYN_SOLVER=OFF \
-DOPTION_TARGET_FV_SOLVER=OFF \
-DOPTION_TARGET_STOCHASTIC_SOLVER=OFF \
-DOPTION_TARGET_NFSIM_SOLVER=ON \
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF \
-DOPTION_TARGET_SUNDIALS_SOLVER=OFF \
-DOPTION_TARGET_HY3S_SOLVERS=OFF \
..
```
`make`
## For building solvers manually from powershell
- Open powershell and redirect to vcell-solvers directory
- Export the path `$Env:Path = "c:\msys64\mingw64\bin" + ";" + "c:\msys64\usr\bin" + ";" + $Env:Path`
- `mkdir -p build/bin`
- `cd build`
- Building all solvers
```
cmake -G "Unix Makefiles" `
-DCMAKE_BUILD_TYPE="Release" `
-DOPTION_TARGET_MESSAGING=OFF `
-DOPTION_TARGET_PARALLEL=OFF `
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF `
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF `
-DOPTION_TARGET_SMOLDYN_SOLVER=ON `
-DOPTION_TARGET_FV_SOLVER=ON `
-DOPTION_TARGET_STOCHASTIC_SOLVER=ON `
-DOPTION_TARGET_NFSIM_SOLVER=ON `
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF `
-DOPTION_TARGET_SUNDIALS_SOLVER=ON `
-DOPTION_TARGET_HY3S_SOLVERS=OFF `
..
```
- `make`
- :exclamation:**Note: Remove wrongly built NFSim solver if you want build in same
- building only NFSim
- ```
cmake -G "Unix Makefiles" `
-DBUILD_SHARED_LIBS=OFF `
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" `
-DCMAKE_EXE_LINKER_FLAGS="-static" `
-DOPTION_TARGET_MESSAGING=OFF `
-DOPTION_TARGET_PARALLEL=OFF `
-DOPTION_TARGET_CHOMBO2D_SOLVER=OFF `
-DOPTION_TARGET_CHOMBO3D_SOLVER=OFF `
-DOPTION_TARGET_SMOLDYN_SOLVER=OFF `
-DOPTION_TARGET_FV_SOLVER=OFF `
-DOPTION_TARGET_STOCHASTIC_SOLVER=OFF `
-DOPTION_TARGET_NFSIM_SOLVER=ON `
-DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF `
-DOPTION_TARGET_SUNDIALS_SOLVER=OFF `
-DOPTION_TARGET_HY3S_SOLVERS=OFF `
..
```
- `make`

0 comments on commit cf2d9d1

Please sign in to comment.