After unpacking version 5.34.24 files into C:\RootBuild folder on my Windows 8 machine I run CMake 3.1.0 like this:
C:\RootBuild>cmake.exe -G "Visual Studio 12 2013" .\root_v5.34.24
Initially, I did run CMake at the root of the unpacked source tree, i.e. inside root_v5.34.24 folder, but CMake complained that it wants to protect original source code, so I moved up, to its parent folder RootBuild.
CMake couldn’t determine if GSL is present (it wasn’t on my machine) and apparently got stuck looking for it. After about half an hour of waiting for CMake to not find it, I cancelled the command and added CMake option declaring that GSL is present (-Dbuiltin_gsl=ON to the command above), rerun CMake and finally got my Visual Studio 2013 solution created.
Opening it in Visual Studio and not knowing exactly what to build, in which order, I picked “Rebuild solution” menu option.
This resulted in many errors related to missing liblzma. LZMA folder had liblzma.dll, but was missing export library needed by the linker for other modules.
However, liblzma.def file was available in LZMA doc folder so it was easy to regenerate export library
using the lib program that comes with Visual Studio compiler:
lib /def:liblzma.def /out:liblzma.lib /machine:x86
After that, I got only a few linker errors for modules that need GSL libraries, but I can tolerate not having advanced math for the time being.
Other than that, hundreds of programs built just fine producing executables and dlls in bin folder.
root.exe run for the first time and I was able to draw a few graphs and histograms typing few lines of code
from the documentation. After running tutorials I was really impressed with what I got in a few hours work.
Many thanks Root team!
I tried to repeat the same with Root version 6.02.02 but I run into compilation errors.
Visual C++ wasn’t happy about quite a few things. I knew about some issues already, like the support for constexpr, but in other cases it looks like GCC is way more tolerant than VC++.
I will report details on some of these errors in my next posts.