Programming Reference:Build System (obsolete)

From BCI2000 Wiki
Revision as of 16:36, 13 August 2009 by Gmilsap (talk | contribs)
Jump to: navigation, search

Introduction

BCI2000 was originally intended to be built only on the Borland compiler due to the fact that much of its architecture was built on the visual components library (VCL) by Borland. By making BCI2000 compiler independent, we could no longer use VCL, and had to choose an open source and cross platform replacement. Qt was chosen to replace VCL because it is not only compiler independent but is also platform independent, a future goal for BCI2000.

As such, Qt is required for compiling the BCI2000 source on a non-Borland platform. If Borland is still being used as the compiling environment, VCL is still temporary supported and the project will be built using the VCL for it's graphical elements. If Visual Studio or MinGW is used to compile BCI2000, you will need to have the Qt SDK installed on your computer.

To support such a large number of platforms and compilers, BCI2000 has turned to CMake http://www.cmake.org to generate makefiles, project files, and visual studio solutions. Cmake can be thought of as a meta-makefile, in that it examines your build environment, and sets up a Visual Studio project, or a Code::Blocks project which is custom tailored to your environment. It is because of varying build environments, that BCI2000 can not come with a set Visual Studio solution file, or an Eclipse project file without giving the user a lot of headache in setting up the compiler to work correctly. The number of platforms BCI2000 supports is only limited by the number of platforms and compilers that CMake has generators for.

Dependencies

Qt 4.5+ http://qt.nokia.com/products/ is required. In case the Qt website goes down, or is changed in some drastic way, a mirror of a confirmed working version of Qt 4.5 is provided here: <LINK>

Supported Environments

  • Supported Operating Systems
    • Windows XP, Windows 2000 (Vista and Windows 7 have poor Audio Video latencies - not recommended for BCI2000)
    • Macintosh OSX support coming soon
    • Linux support coming soon
  • Supported Compilers
    • Borland 6, 2007, 2009
    • Visual Studio 8 (2005), 9 (2008)
    • MinGW
  • Supported IDEs
    • Borland 6, 2007, 2009 (Note: Use the project files in the src directory for Borland IDE support. This support is being phased out)
    • Visual Studio 8 (2005), 9 (2008) (via CMake)
    • Code::Blocks - MinGW Makefiles (via CMake)
    • Any other IDE supported by CMake generators (Eclipse CDT, etc...)

How To Build

  1. These are
  2. Numbered?

How To Test

Text to follow is for reference as I build this page. Please ignore.

This is a subcategory

This Code
has a border
and its nice

CodeFont()

Another Subhead

  • This text is bulleted