Programming Reference:Building Qt for BCI2000 (obsolete): Difference between revisions

From BCI2000 Wiki
Jump to navigation Jump to search
No edit summary
Line 48: Line 48:
   
   
*For 64-bit versions of the libraries, proceed as above, but run <tt>configure</tt> and <tt>nmake</tt> steps from a 64-bit Visual Studio command line prompt. The target directory should be named <tt>win32-amd64-msvc2012</tt> for MSVC 2012 64-bit builds.
*For 64-bit versions of the libraries, proceed as above, but run <tt>configure</tt> and <tt>nmake</tt> steps from a 64-bit Visual Studio command line prompt. The target directory should be named <tt>win32-amd64-msvc2012</tt> for MSVC 2012 64-bit builds.
 
<!--
==Build and copy mingw libraries and auxiliary files==
==Build and copy mingw libraries and auxiliary files==
*From the Qt installation's <tt>qt</tt> directory, run <tt>configure</tt> with the following options:
*From the Qt installation's <tt>qt</tt> directory, run <tt>configure</tt> with the following options:
Line 120: Line 120:
*To hide debugging information, open a cygwin shell, and cd to the qt lib directory that contains MSVC libraries. There, execute
*To hide debugging information, open a cygwin shell, and cd to the qt lib directory that contains MSVC libraries. There, execute
  /full/path/to/build/buildutils/strip_msvc_lib.sh *
  /full/path/to/build/buildutils/strip_msvc_lib.sh *
 
-->
==Upload Qt to the BCI2000 server==
==Upload Qt to the BCI2000 server==
*Create a self-extracting 7z archive from each subfolder of the <tt>qt-x.y.z</tt> directory. In order to expand correctly, the archive must contain the <tt>qt-x.y.z</tt> directory as well.
*Create a self-extracting 7z archive from each subfolder of the <tt>qt-x.y.z</tt> directory. In order to expand correctly, the archive must contain the <tt>qt-x.y.z</tt> directory as well.

Revision as of 17:13, 8 August 2015

This document describes how to build Qt for installation in the BCI2000 source tree. It is current as of Qt 5.3.

Note: Following this procedure is only required if you are a member of the BCI2000 team, and if your task is to update the Qt build coming with BCI2000. In case you just want to build BCI2000 against a version of Qt outside the source tree, run CMake a first time, then open the file BCI2000/build/CMakeCache.txt in the CMake GUI, or in a text editor, and set the value of the USE_EXTERNAL_QT option to "ON".

Build and copy MSVC libraries and auxiliary files

  • Download the Qt source code [1] to your machine.
  • Outside the Qt source tree, create a directory tree, e.g. d:\Qt\5.3\build-msvc12. A Qt build may require an enormous amount of temporary disk space (50GB and more), so it is recommended to build Qt on a separate (virtual) empty disk drive.
  • Into the newly created empty build directory, place a do_configure.bat script file with the following content:
c:\Qt\5.3\Src\configure ^
-platform win32-msvc2012 ^
-static ^
-prefix d:\Qt\deployment\qt-5.3.2\win32-msvc2012 ^
-headerdir ..\include ^
-no-vcproj -mp ^
-no-openssl -no-qml-debug ^
-no-opengl ^
-no-openvg ^
-no-direct2d ^
-no-angle ^
-no-dbus ^
-no-audio-backend ^
-no-wmf-backend ^
-skip qtdeclarative ^
-skip qtquick1 ^
-skip qtquickcontrols ^
-skip qtscript ^
-skip qtwebkit ^
-skip qtwebkit-examples ^
-skip qtxmlpatterns ^
-skip qtmultimedia ^
-nomake tests ^
-nomake examples 
  • This should be a single command line, so make sure that the caret character is actually the last character in each line, and not followed by white space.
  • Note that the first path should point to your Qt source location, and the "prefix" path should point to a location on your build drive. This is the path that will contain Qt headers and libraries after the build.
  • In your Qt source directory, open the file qtbase/mkspecs/win32-msvc2012/qmake.conf in a text editor. In QMAKE_CFLAGS_RELEASE and QMAKE_CFLAGS_DEBUG, replace the -MD and -MDd with -MT and -MTd, respectively.
  • Open an appropriate Visual Studio console window from the start menu. Whether you build a 64 or 32 bit version of Qt will depend on the type of VS Command Prompt you choose.
  • Change directory to the build directory containing the script described above, and execute it.
  • When prompted for the type of license, choose "Open Source", and answer "yes" when asked whether you accept the terms of the license.
  • Run nmake as suggested by configure.
  • After a successful build, nmake install will copy libraries and headers to the location specified by the -prefix option.
  • The following files must be present in bin:
moc.exe
qmake.exe
rcc.exe
uic.exe

  • For 64-bit versions of the libraries, proceed as above, but run configure and nmake steps from a 64-bit Visual Studio command line prompt. The target directory should be named win32-amd64-msvc2012 for MSVC 2012 64-bit builds.

Upload Qt to the BCI2000 server

  • Create a self-extracting 7z archive from each subfolder of the qt-x.y.z directory. In order to expand correctly, the archive must contain the qt-x.y.z directory as well.
  • For CMake to find an archive on the server, it must be located at the following http path: /externals/qt/qt-x.y.z.subdirname

Note that archives may not have an .exe file extension on the server. It will be added when the file is downloaded by CMake (see BCI2000/build/cmake/FindQt.cmake for details).

See also

Programming Reference:Build System