[Networkit] Build system discussion: Using CMake instead of SCons

Michael Hamann michael.hamann at kit.edu
Mon May 8 17:37:35 CEST 2017

Hi all,

On 08.05.2017 16:02, Matteo Riondato wrote:
>> On May 8, 2017, at 9:35 AM, Moritz von Looz <moritz.looz-corswarem at kit.edu> wrote:
>> CMake seems like a good candidate due to its wide availability and active development.
>> What is your take on this?

I'm also in favor of switching.

One point against switching I would like to add: Currently we do not 
need to manually update a list of files that should be compiled. While 
this is possible with CMake, it is not well supported (see e.g. [0]). 
Therefore, we will need to start maintaining manual lists of files. 
Ideally, this list should not be in one place but distributed across the 
different modules in order to avoid merge conflicts.

However, there is also another reason for switching: Using CMake we also 
get a lot better support from IDEs and other tools out of the box. IDEs 
like CLion or Qt Creator support CMake as a build system. Further, CMake 
can also export compiler commands that can be used by different tools 
that are part of Clang/LLVM (see e.g. [1]).


[0]: http://stackoverflow.com/questions/32411963/why-is-cmake-file-glob-evil
[1]: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html

More information about the NetworKit mailing list