Windows build » History » Version 38

« Previous - Version 38/98 (diff) - Next » - Current version
pospelov, 06 Sep 2013 13:48


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 for Core+Fit+UnitTests+FunctionalTests (not App, GUI)
  • cmake based build is ok too

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

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
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 MSVC boost compilation

  • 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"

Where we are?
  • At this point Qt creator Release build works for Core+Fit+Tests (not App, GUI)
  • At this point cmake Release works roo

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