Windows build » History » Version 40

« Previous - Version 40/98 (diff) - Next » - Current version
pospelov, 06 Sep 2013 14:17


Windows build

Experimental compilation under Windows using Mingw or Microsoft Visual Studio.
For whose who wnats to see the devil developers only.

Install packages for happier life
  • Atlassian SourceTree (v0.9.2.3)

https://www.atlassian.com/software/sourcetree/overview

  • Kate from KDE

http://download.kde.org/stable/kdewin/installer/kdewin-installer-gui-latest.exe.mirrorlist

  • far manager

http://www.farmanager.com/download.php?l=en

  • WinSCP

http://winscp.net/eng/index.php

First assure compilation of MinGW, then switch to Visual Studio recipe

Mingw build

Install Qt, cmake
  • Install Qt 5.1.0

http://qt-project.org/downloads
Add to PATH C:\Qt\Tools\mingw48_32\bin;C:\Qt\Tools\mingw48_32\lib;C:\Qt\5.1.0\mingw48_32\bin;C:\Qt\Tools\QtCreator\bin

this will allow usage of mingw from any command line

  • install cmake

http://www.cmake.org/cmake/resources/software.html by running cmake-2.8.11.2-win32-x86.exe

Install MinGW
  • We need full MinGW suite to compile latest libgsl. MinGW from Qt installtion want help.

download mingw-get-setup.exe installation manager from http://www.mingw.org/
run installer, there will be some pre selection of packages (from MinGW Base system, MSYS and GCC), should be enough
in the menu do Installation/Apply changes, then accept default C:\MinGW as an installation directory

Install Python and Co
  • Install Python

install through http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi into C:/Python27

  • install numpy

from unofficial http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy by running numpy-unoptimized-1.7.1.win32-py2.7.‌exe

  • install matplotlib

from http://matplotlib.org/downloads.html by running matplotlib-1.2.1.win32-py2.7.exe

(alternative install Anaconda pack (python + mingw + numpy) from http://continuum.io/downloads ) Not checked!

Comment about installation of additional libraries

All further installations should end up in C:\opt\local

Install gsl
  • use previously installed MinGW to compile gsl

create empty directory c:\gsl-1.16
download source gsl-1.16.tar.gz from ftp://ftp.gnu.org/gnu/gsl/
copy unpacked directory to C:\mingw\msys\1.0\home\pospelov
run c:\mingw\msys\msys.bat which will bring command line prompt
there, navigate to c:\mingw\msys\1.0\home\pospelov\gsl-1.16
compile

./configure --enable-static=yes --enable-shared=yes --prefix=/c/gsl-1.16
make
make install

copy directory "C:\gsl-1.16\include\gsl" to "C:\opt\local\include\gsl"
copy files libgsl-0.dll and libgslcblas-0.dll into "C:\opt\local\lib"

Install fftw3

from http://www.fftw.org/install/windows.html download fftw-3.3.3-dll32.zip
unpack archive somewhere
copy fftw3.h to C:\opt\local\include
copy libfftw3-3.dll and libfftw3-3.def to C:\opt\local\lib

install BOOST
  • install zlib and bzip2

from http://www.zlib.net/ into C:/opt/local/source/zlib-1.2.8
from http://www.bzip.org/downloads.html into C:/opt/local/source/bzip2-1.0.6

  • Download and compile boost_1_54_0

from http://sourceforge.net/projects/boost/files/boost/1.54.0/ and unpack
cd <BOOSTDIR>
bootstrap.bat mingw
b2 install --prefix=c:/opt/local toolset=gcc -sBZIP2_SOURCE="C:\opt\local\source\bzip2-1.0.6" -sZLIB_SOURCE="C:\opt\local\source\zlib-1.2.8" address-model=32 variant=release link=static,shared threading=single,multi
Move c:/opt/local/include/boost_1.54/boost directory into c:/opt/local/include/boost

PATH
  • Add c:\home\pospelov\development\git\BornAgain\lib;c:\opt\local\lib to PATH
Where we are?
  • At this point Qt creator Release, Debug builds are working

Core + Fit + UnitTests + FunctionalTests (not App, GUI)

  • cmake Release, Debug builds

cmake -G "MinGW Makefiles" ../BornAgain
mingw32-make -j4
mingw32-make check

or cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug ../BornAgain

MS Visual Studio build

Install VS.NET2012

Install En language pack
install "stop build on error" plugin http://visualstudiogallery.msdn.microsoft.com/91aaa139-5d3c-43a7-b39f-369196a84fa5

Comment about installation of additional libraries

All further installations should end up in C:\opt\local_vc110

Install gsl

succeeded only for static build using "gslhdrs" utility mentioned in gsl.vc11.readme

Install fftw3

from http://www.fftw.org/install/windows.html download fftw-3.3.3-dll32.zip
unpack archive somewhere
copy fftw3.h to C:\opt\local_vc110\include
copy libfftw3-3.dll and libfftw3-3.def to C:\opt\local_vc110\lib
generate corresponding lib file

run "VS2012 x86 native tools command prompt"
run there "lib /def:libfftw3-3.def" to generate lib file

install BOOST
  • install zlib and bzip2

from http://www.zlib.net/ into C:/opt/local_vc110/source/zlib-1.2.8
from http://www.bzip.org/downloads.html into C:/opt/local_vc110/source/bzip2-1.0.6

Patch bzip2 installation (MSVC specific!)
Namely delete first line ("LIBRARY LIBBZ2") from file libbz2.def
This will remove unnecessary dependency from external bzip2 during later linking of boost libraries into other project

  • Download and compile boost_1_54_0

from http://sourceforge.net/projects/boost/files/boost/1.54.0/ and unpack
cd <BOOSTDIR>
bootstrap.bat
b2 install --prefix=c:/opt/local_vc110 -sBZIP2_SOURCE="C:\opt\local_vc110\source\bzip2-1.0.6" -sZLIB_SOURCE="C:\opt\local_vc110\source\zlib-1.2.8" variant=release link=static,shared threading=multi
Move c:/opt/local_vc110/include/boost_1.54/boost directory into c:/opt/local_vc110/include/boost

PATH
  • Add c:\opt\local_vc110\lib to PATH
Working with MSVC2012
  • generate project file

cmake -G "Visual Studio 11" -DCMAKE_INCLUDE_PATH=C:/opt/local_vc110/include -DCMAKE_LIBRARY_PATH=C:/opt/local_vc110/lib ../BornAgain
Open BornAgain.sln in Visual Studio

There will be several projects in the solution (INSTALL, ZERO_CHECK, etc), all are necessary. Select build type "Release" and do "BUILD/Build Solution"
Functional tests can be runned additionally by building "check" project

Where we are?
  • MSVC2012 Release, Debug builds are working for Core + Fit + UnitTests + FunctionalTests