oruebel / OpenEphysHDF5Lib

A common library for all formats that write HDF5 files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Ephys HDF5 Common Library

A common library for any Open Ephys GUI plugins that need to write HDF5 files, based on version 1.21.1 of the HDF5 library. When building the GUI locally, plugins that depend on this library (such as nwb-format) must be compiled after this library.

Building from source

First, follow the instructions on this page to build the Open Ephys GUI.

Important: This library is intended for use with the latest version of the GUI, 0.6.X. The GUI should be compiled from the main branch, rather than the previous master branch.

Then, clone this repository into a directory at the same level as the plugin-GUI, e.g.:

Code
├── plugin-GUI
│   ├── Build
│   ├── Source
│   └── ...
├── OEPlugins
│   └── OpenEphysHDF5Lib
│       ├── Build
│       ├── Source
│       └── ...

Windows

Requirements: Visual Studio and CMake

From the Build directory, enter:

cmake -G "Visual Studio 17 2022" -A x64 ..

Next, launch Visual Studio and open the OE_COMMONLIB_OpenEphysHDF5.sln file that was just created. Select the appropriate configuration (Debug/Release) and build the solution.

Selecting the INSTALL project and manually building it will copy the library's .dll and any other required files into the GUI's shared directory.

Linux

Requirements: CMake

From the Build directory, enter:

cmake -G "Unix Makefiles" ..
cd Debug
make -j
make install

This will build the library and copy the .so file into the GUI's plugins directory.

macOS

Requirements: Xcode and CMake

From the Build directory, enter:

cmake -G "Xcode" ..

Next, launch Xcode and open the OE_COMMONLIB_OpenEphysHDF5.xcodeproj file that now lives in the “Build” directory.

Running the ALL_BUILD scheme will compile the library; running the INSTALL scheme will install the .dylib file to /Users/<username>/Library/Application Support/open-ephys/shared-api8.

About

A common library for all formats that write HDF5 files


Languages

Language:C 90.2%Language:C++ 9.7%Language:CMake 0.1%