diff options
author | Alexey Rusakov <Kitsune-Ral@users.sf.net> | 2022-06-16 22:44:41 +0200 |
---|---|---|
committer | Alexey Rusakov <Kitsune-Ral@users.sf.net> | 2022-06-17 10:41:15 +0200 |
commit | 3581b9d03fe2f169909b3977606abd3b459c0529 (patch) | |
tree | f2ecc0ee612c79fff81339c353311f5df8a15f00 | |
parent | 2504e6e5f216e34fc9aabfda0c462b1b37620a5e (diff) | |
download | libquotient-3581b9d03fe2f169909b3977606abd3b459c0529.tar.gz libquotient-3581b9d03fe2f169909b3977606abd3b459c0529.zip |
CMakeLists and elsewhere: require Qt 5.15
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | CONTRIBUTING.md | 9 | ||||
-rw-r--r-- | README.md | 16 | ||||
-rw-r--r-- | libquotient.pri | 3 |
4 files changed, 10 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index efdd5bb6..048d3b07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,7 +77,7 @@ option(BUILD_WITH_QT6 "Build Quotient with Qt 6 (EXPERIMENTAL)" OFF) if (BUILD_WITH_QT6) set(QtMinVersion "6.0") else() - set(QtMinVersion "5.12") + set(QtMinVersion "5.15") set(QtExtraModules "Multimedia") # See #483 endif() string(REGEX REPLACE "^(.).*" "Qt\\1" Qt ${QtMinVersion}) # makes "Qt5" or "Qt6" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bc65abf3..7a5ee079 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -154,14 +154,7 @@ just don't bankrupt us with it. Refactoring is welcome. ### Code style and formatting -As of Quotient 0.7, the C++ standard for newly written code is C++20 with a few -restrictions, notably: -* enumerators and slots cannot have `[[attributes]]` because moc from Qt 5.12 - chokes on them - this will be lifted when we move on to Qt 5.13 for the oldest - supported version, in the meantime use `Q_DECL_DEPRECATED` and similar Qt - macros - they expand to nothing when the code is passed to moc. -* explicit lists in lambda captures are preferred over `[=]`; note that C++20 - deprecates implicit `this` capture in `[=]`. +As of Quotient 0.7, the C++ standard for newly written code is C++20. The code style is defined by `.clang-format`, and in general, all C++ files should follow it. Files with minor deviations from the defined style are still @@ -26,19 +26,17 @@ If you find what looks like a security issue, please use instructions in SECURITY.md. ## Getting and using libQuotient -Depending on your platform, the library can come as a separate package. -Recent releases of Debian and openSUSE, e.g., already have the package -(under the old name). If your Linux repo doesn't provide binary package -(either libqmatrixclient - older - or libquotient - newer), or you're -on Windows or macOS, your best bet is to build the library from the source -and bundle it with your application. +Depending on your platform, the library can be obtained from a package +management system. Recent releases of Debian and openSUSE, e.g., already have +it. Alternatively, just build the library from the source and bundle it with +your application, as described below. ### Pre-requisites - A recent Linux, macOS or Windows system (desktop versions are known to work; mobile operating systems where Qt is available might work too) - - Recent enough Linux examples: Debian Bullseye; Fedora 33; openSUSE Leap 15.3; - Ubuntu Focal Fossa. -- Qt 5 (either Open Source or Commercial), 5.12 or higher + - Recent enough Linux examples: Debian Bullseye; Fedora 35; + openSUSE Leap 15.4; Ubuntu 22.04 LTS. +- Qt 5 (either Open Source or Commercial), 5.15 or higher - CMake 3.16 or newer (from your package management system or [the official website](https://cmake.org/download/)) - A C++ toolchain with that supports at least some subset of C++20: diff --git a/libquotient.pri b/libquotient.pri index 677f60d3..1b4bd9c0 100644 --- a/libquotient.pri +++ b/libquotient.pri @@ -1,8 +1,7 @@ QT += network multimedia QT -= gui -# TODO: Having moved to Qt 5.12, replace c++1z with c++17 below -CONFIG *= c++1z warn_on rtti_off create_prl object_parallel_to_source +CONFIG *= c++20 warn_on rtti_off create_prl object_parallel_to_source win32-msvc* { # Quotient code base does not play well with NMake inference rules |