Programming Howto:Building and Customizing BCI2000
Download TortoiseSVN installer from tortoisesvn.net
Don't forget to install command line client tools
Download CMake installer from cmake.org
Choose "Add to path for all users"
Download VisualStudio Community installer from visualstudio.com
Make sure to install the C++ compiler
Download the open source installer from www.qt.io
Click "Skip" when prompted for a Qt account
Choose a Qt version that is consistent with the version of VisualStudio you downloaded earlier
Installation may take a long time
Uncheck "Launch Qt Creator" before clicking "Finish"
Register with BCI2000 Project
Go to the main BCI2000 wiki page, and click "Create a User Account"
Enter your desired user name, and a valid email address
An activation email will be sent to your email address
Click the link in the activation email
Enter user information and desired password, then click "Proceed with license agreement"
Scroll down to view the GPL, and check "I agree to the GPL" before continuing
Enter some information about your scientific affiliation, if applicable
Download the BCI2000 source code
Choose a checkout directory
Enter user name and password as chosen in the registration step
Configure BCI2000 for compilation
Double-click "Configure.sh.cmd" in your BCI2000 build directory
Tell CMake which Qt installation to use
Enter the path to a Qt directory that is consistent with the compiler you are going to use
Choose a generator that is consistent with the Qt directory chosen above
Choose build options...
... and which extensions to compile, before clicking "Generate"
Amongst other files created by CMake, your BCI2000 build directory will now contain a solution file
Your BCI2000 "prog" folder does not contain any executables yet
Open the solution file your BCI2000 "build" folder
The solution file in the VisualStudio IDE
Switch the build type to "release"
From the "build" menu, choose "Build solution"
Once the build is finished, ...
... your BCI2000 "prog" folder will contain a number of executables, one for each module