Better modularisation of the CMakeLists