80 lines
3.8 KiB
Markdown
Raw Normal View History

2021-10-14 13:47:35 +02:00
# |OpenViBE meta repository| |README|
[![Website](https://img.shields.io/badge/Web-Website-informational)](http://openvibe.inria.fr/)
[![Doxygen Documentation](https://img.shields.io/badge/Doc-Doxygen%20Documentation-informational)](http://openvibe.inria.fr/documentation/latest/)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
|Build Status :| |
|:-------------|:-:|
|Ubuntu 18.04 x64|[![Build Status](https://ci.inria.fr/openvibe/buildStatus/icon?job=OV-Nightly-Ubuntu18.04&style=plastic)](https://ci.inria.fr/openvibe/job/OV-Nightly-Ubuntu18.04/)|
|Fedora 31 x64|[![Build Status](https://ci.inria.fr/openvibe/buildStatus/icon?job=OV-Nightly-Fedora31&style=plastic)](https://ci.inria.fr/openvibe/job/OV-Nightly-Fedora31/)|
|Windows 10 x64|[![Build Status](https://ci.inria.fr/openvibe/buildStatus/icon?job=OV-Nightly-Win10-x64&style=plastic)](https://https://ci.inria.fr/openvibe/job/OV-Nightly-Win10-x64/)|
|Windows 10 x86|[![Build Status](https://ci.inria.fr/openvibe/buildStatus/icon?job=OV-Nightly-Win10-x86&style=plastic)](https://ci.inria.fr/openvibe/job/OV-Nightly-Win10-x86/)|
OpenViBE project is now divided into 3 parts :
- SDK, that contains the certifiable core and plugins of OpenViBE
- Designer, the graphical interface for OpenViBE
- Extras, for community plugins and contributions
The current repository, OpenViBE-meta, exist to ease the task of building these repositories together.
To build OpenViBE, follow these instructions :
- Pull this repository
- Pull its submodules
- Install the dependencies using install_dependencies.cmd or .sh script, depending on your platform
- Build the project using build.cmd or build.sh script
- OPTIONNAL : if you need a solution that can be opened in visual studio, add --vsbuild-all flag. Generated solution will be outputted in build folder
## Pulling this repository
This can be done using `git pull git@gitlab.inria.fr:openvibe/meta.git` from command line, or with any GUI for git, like GitKraken.
## Pulling the submodules
Please note that you will require a recent version of git for this step; we advise to use versions above 2.0, but git 1.7 should work.
Use `git submodule update --init --recursive` to fetch all submodules.
## Installing the dependencies
Call install_dependencies.cmd or install_dependencies.sh, depending on your system.
A "dependencies" folder will be created on main directory.
If you wish to use visual studio, it will be more handy to install python and jinja2 library with :
`c:\python3X\Scripts\pip.exe install jinja2`
If you want to use the pygame examples, you will need python and pygame library. Pygame can be installed with
`pip install jinja2`
## Building the project
To build the whole project, execute `build.cmd` (windows) or `build.sh` (linux).
You will require at least version 2013 of Visual Studio, or GCC 4.8
## Bu#ilding the project for Visual Studio
To build the project for visual studio with both debug and release, use `build.cmd --vsbuild-all`.
After building the project, the script will attempt to generate a merged solution of the 3 projects.
This requires python3 and jinja2.
If you use stock python3, you can install jinja2 like so :
`c:\python3X\Scripts\pip.exe install jinja2`
The merged sln will be generated in the build directory.
If you do not wish to install python, you can also use the `launchvc.cmd` or `launchvc_debug.cmd` scripts (Legacy)
## Updating the repository
### WARNING : I HAVE NO IDEA HOW IT BEHAVE IF YOU HAVE PERSONNAL COMMIT/UNCOMMITED FILES
You can update the whole directory (including submodules) with :
```bash
git pull
git submodule sync --recursive
git submodule update -init --recursive
```
Aliases can be created to ease the global update process :
`git config --global alias.spull '!git pull && git submodule sync --recursive && git submodule update --init --recursive'`
### END WARNING