Jump to content

Compiling On Non-Windows Platforms: Difference between revisions

From BCI2000 Wiki
Mmarcus (talk | contribs)
Mmarcus (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
Click "AddEntry" in the CMake window (<i>Note that checking off "Advanced" in Cmake is optional and does not impact the compilation</i>) and enter the path to a Qt directory. Use CMAKE_PREFIX_PATH as the name for the new entry. Be aware that the entry's name is case sensitive. <b>Currently, on non-windows platform, Qt 5 is the only version that is supported.</b>
Click "AddEntry" in the CMake window (<i>Note that checking off "Advanced" in Cmake is optional and does not impact the compilation</i>) and enter the path to a Qt directory. Use CMAKE_PREFIX_PATH as the name for the new entry. Be aware that the entry's name is case sensitive. <b>Currently, on non-windows platform, Qt 5 is the only version that is supported.</b>


====Note About Dependencies====
===Installing Dependencies===
<i>There are three dependencies that must be installed prior to building on Non-Windows platforms: ffmpeg (version 4.4.1), sdl2, and portaudio. These will be automatically installed with a portable version of homebrew when cmake is run (this takes awhile). Alternatively, you can install them yourself and disable the automatic installation by setting the cmake variable INSTALL_NO_DEPENDENCIES to ON.</i>
There are three dependencies that need to be installed before you can compile BCI2000:
*ffmpeg (version 4.4.1, version 5 does not work with BCI2000)
*portaudio
*sdl2
These can be installed using the
install_dependencies
script in the BCI2000 home directory. Or, you can manually install them, and they will be automatically detected by CMake.


===Perform the configuration step===
===Perform the configuration step===

Latest revision as of 17:37, 25 July 2022

Configure BCI2000 for Compilation

Run the CMake GUI

Double-click "Configure.sh.cmd" in your BCI2000 build directory.

Tell CMake which Qt installation to use

Click "AddEntry" in the CMake window (Note that checking off "Advanced" in Cmake is optional and does not impact the compilation) and enter the path to a Qt directory. Use CMAKE_PREFIX_PATH as the name for the new entry. Be aware that the entry's name is case sensitive. Currently, on non-windows platform, Qt 5 is the only version that is supported.

Installing Dependencies

There are three dependencies that need to be installed before you can compile BCI2000:

  • ffmpeg (version 4.4.1, version 5 does not work with BCI2000)
  • portaudio
  • sdl2

These can be installed using the

install_dependencies

script in the BCI2000 home directory. Or, you can manually install them, and they will be automatically detected by CMake.

Perform the configuration step

In the CMake window, click "Configure" and choose a generator that is consistent with your compiler. This tutorial will be using Unix Makefiles. Then click "Done" to perform the configuration step. You will see a list of targets scrolling by, and a number of new entries in the variable list at the top of the window, marked in red.

Choose Build Options

Make sure the "Grouped" checkbox is checked, and configure the build by customizing values in the "BUILD" group, "EXTENSIONS" group, and "USE" group. Then, click "Generate" to create build files. When CMake displays its "Generating done" message, your BCI2000 build directory will now contain a Makefile (or a project file for your compiler of chioce), as well as a number of additional CMake-generated files.

Compile BCI2000

Open Terminal

Open a new terminal window and navigate to your BCI2000 build directory.

Build Makefiles

Run:

make

from your BCI2000 build directory. Once this is finished your BCI2000 prog directory will contain a number of executables, one for each module, plus a few helper executables. Not everything works the same or, in some cases, at all on non-windows platforms. See, Non-Windows Functionality for more information.