gcontini
2020-10-10 19ee9f50a7d14f48ca993b7c8b21ef4ca3642809
doc/development/Build-the-library-windows.rst
@@ -4,13 +4,17 @@
This page describes how to build the library under windows. Both MSVC compiler and MinGW are supported.
MSVC (2015~2019)
MSVC (2017~2019)
*****************
Supported Visual Studio versions are:
* the latest Visual Studio 2019 (used in development)
* Visual Studio 2017 used in `travis.ci <https://docs.travis-ci.com/user/reference/windows/>`_ for automated tests.
MSVC install prerequisites
============================= 
Git is of course a prerequisite, if you don't have it you can download it from git-scm.com (here is a )
Git is of course a prerequisite, if you don't have it you can download it from `git-scm.com <https://git-scm.com/download/win>`_.
Pre-compiled `versions of boost <https://sourceforge.net/projects/boost/files/boost-binaries/>`_ for windows are available 
at SourceForge. Choose the version that matches the desired architecture (eg. for Visual Studio 2019 64 bit you can download
@@ -18,7 +22,6 @@
if unsure download the full `boost_1_71_0-bin-msvc-all-32-64.7z <https://dl.bintray.com/boostorg/release/1.71.0/binaries/boost_1_71_0-bin-msvc-all-32-64.7z>`_ archive. 
With boost 1.71 it is recommended to download one of the `latest cmake <https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0-win64-x64.msi>`_ (>3.16). The version with Visual Studio 2019 isn't the most up to date.
Checkout the code
==================
@@ -97,8 +100,42 @@
MINGW
*****************
.. TODO::
   
   MINGW documentation need to be done. Refer to file .travis.yml to see a list of commands for windows-mingw
   Describe how to install and configure mingw
Prerequistites:
* Powershell
* 7zip
* git
* cmake
Install and compile boost:
.. code-block:: console
    wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.7z
    7z x boost_1_68_0.7z -oC:/local
    cd "C:\local\boost_1_68_0"
    bootstrap.bat gcc
    b2.exe -d0 --with-date_time --with-test --with-filesystem --with-program_options --with-regex --with-serialization --with-system runtime-link=static toolset=gcc --prefix=C:\local\boost_1_68_0\boost-mingw install
    cd C:/local/boost_1_68_0/boost-mingw/lib
    dir
Verify boost is really compiled. Go to the folder where you want to download `licensecc`
.. code-block:: console
   git clone --recursive https://github.com/open-license-manager/open-license-manager.git
   cd build && cmake -G "MinGW Makefiles" -DBOOST_ROOT="C:/local/boost_1_68_0/boost-mingw" -DBoost_ARCHITECTURE="-x64" -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID="x64" -DCMAKE_SH="CMAKE_SH-NOTFOUND" ..
   cmake --build . --target install --config Release
And then you can test it:
.. code-block:: console
   ctest -C Release