quotient-im / libQuotient

A Qt library to write cross-platform clients for Matrix
https://quotient-im.github.io/libQuotient/
GNU Lesser General Public License v2.1
132 stars 56 forks source link

Upgrade build configuration #748

Closed KitsuneRal closed 4 months ago

KitsuneRal commented 4 months ago
  1. C++23 on (bringing niceties like monadic operations on std::optional and std::ranges::to)
  2. Use target_sources and HEADERS file set in CMakeLists
  3. Use Clang 17 in CI because: a. Clang 15 is too old and cannot compile ranges code used in libstdc++ 13 b. We probably don't want to switch Clang pipeline it to libc++, because it's not the default for most Linux distros c. Clang 16 is not available in Ubuntu 22.04, neither in official LLVM repos.

Be mindful that switching to C++23 may break some existing code (not badly; an example of a needed fix can be seen right here in 48d874f).

sonarcloud[bot] commented 4 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud