Updated Windows (markdown)
[dealii.wiki.git] / Windows.md
1 # Using deal.II on native Windows
2
3 For an overview of different ways to use deal.II on Windows have a look at the corresponding [FAQ entry](https://github.com/dealii/dealii/wiki/Frequently-Asked-Questions#can-i-use-dealii-on-a-windows-platform).
4
5 **Warning: please be aware that the following is experimental and you will likely encounter bugs in compilers and deal.II itself. Only continue if you are willing to experiment.** 
6
7 ## Visual Studio
8
9 Since deal.II 8.4.0 we have experimental support for the newer Visual Studio C++ compilers (2013 and 2015), but this is still work in progress. Please see the following threads for more details:
10 - https://github.com/dealii/dealii/issues/1921
11
12 Installation instructions:
13
14 1. Download and install Visual Studio 2015 or 2017: https://www.visualstudio.com/vs/ and make sure you select the C++ compiler
15 2. Install cmake from https://cmake.org/download/ (pick the windows installer)
16 3. Extract deal.II to a folder, for example c:\dealii (or clone the git development version)
17 4. Configure using cmake by opening the 64bit command line shortcut and run:
18
19     ```
20     set PreferredToolArchitecture=x64
21     cd c:\dealii
22     mkdir build
23     cd c:\dealii\build
24     cmake -G "Visual Studio 15 2017 Win64" ..
25     ```
26     Note: Setting the tool architecture to 64 bit works around problems of the compiler or linker running out of memory and leads to much quicker compile times.
27     Note: Use generator ``"Visual Studio 15 2017 Win64"`` for Visual Studio 2017 and ``"Visual Studio 14 2015 Win64"`` for Visual Studio 2015.
28
29 6. Compile and install the library by opening ``deal.II.sln`` in c:\dealii\build, pick the install target and compile. Note: you need to either compile in the same terminal as above (using ``cmake --build .``) or open ``devenv.exe`` from the same terminal, to use the 64 bit tool architecture.
30
31 7. in cmd go to one of the examples in c:\dealii\examples\step-xy:
32
33     ```
34     cmake -D DEAL_II_DIR=c:\dealii\build -G "Visual Studio 15 2017 Win64" .
35     ```
36
37 8. Open the newly created solution (step-xy.sln) in that directory and compile/run/debug.
38
39 ## Running build tests on Windows:
40
41 Install git and mingw (for perl etc). Then create a .bat file:
42 ```
43 git pull origin master
44 rmdir /Q /S buildtest15
45 mkdir buildtest15
46 cd buildtest15
47 ctest -C Debug -DMAKEOPTS="/m:1" -DCTEST_CMAKE_GENERATOR="Visual Studio 14 2015" -S ../tests/run_buildtest.cmake -V
48 cd ..
49 ```
50
51 ## Cygwin / MingGW
52
53 Cygwin and forks such as MinGW and MinGW-64 are unsupported due to multiple unresolved miscompilation issues.
54
55 ## Other Windows compilers
56
57 We haven't had much success with any other compiler on Windows (Intel, Borland, ...).

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.