winft / wrapland

Qt/C++ library wrapping libwayland
GNU Lesser General Public License v2.1
6 stars 2 forks source link

Improvements to our build system CMake #63

Open romangg opened 4 years ago

romangg commented 4 years ago

This is an overview task.

What is CMake

CMake is Wrapland's build system. It manages building, installing and exporting Wrapland's libraries.

CMake is probably the most used build system for C++ projects. It is feature-rich but also pretty complicated with unusual syntax. For an introduction read:

Current state

Missing documentation for ECM

We inherited usage of extra-cmake-modules (ECM) from KWayland. These are well contained but sadly not well documented. When looking for information to generate coverage reports for #61 I did not find any useful information besides some module that basically does nothing.

Because of the missing documentation ECM is rather opaque with an all-or-nothing approach heavily focused on KDE frameworks needs. For other projects it is difficult to understand in full and to assess how suited ECM is in the end.

Looking online we can find projects with way better documentation that also promise to use modern CMake. See above introduction articles and following projects or additional information:

Issues

Next tasks

We want a simple and robust CMake build system using modern CMake paradigms and most recent CMake features. For that let's define some direct tasks.

romangg commented 2 years ago

marked this issue as related to #81