aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2021-07-18MembershipType -> Membership, also used for JoinStateAlexey Rusakov
Instead of being defined independently, JoinState now uses values from the Membership enumeration (former MemberEventContent::MembershipType) that was moved to quotient_common.h for that purpose. Both enumerations gained a Q_FLAG_NS decoration and operator<< overrides that strip "Quotient::" prefix when dumping member/join state values to the log - obviating toCString(JoinState) along the way. Quotient::MembershipType alias is deprecated from now.
2021-07-18CMakeLists: fixed potential linking errors around quotient_common.hAlexey Rusakov
quotient_common.h has Q_NAMESPACE but no own compilation unit, and moc was not called on it either - using metaobject data on an enumeration defined in that file leads to a linking error due to sharedMetaObject not being defined. The fix makes so that the file is detected by automoc with the respective definition being generated. Cherry-picked from a83ec900 (0.6.x branch).
2021-07-16Officially drop Qt Multimedia with Qt 6Alexey Rusakov
Closes #483.
2021-06-23Update to the new matrix-doc layout and toolingAlexey Rusakov
Among things affecting Quotient, the update involved moving API files from api/ to data/api/, adding extensions to event schema files, and switching from ReStructured Text to Markdown as a lightweight markup language. This commit updates the build system and GTAD configuration to accommodate for these. The build system is also more robust now in choosing whether the update-api target should be provided. Previously the target was provided whenever GTAD_PATH and MATRIX_DOC_PATH were specified, even if they did not point to anything valid. CMake now checks that MATRIX_DOC_PATH is an actual directory and that GTAD_PATH points to an actual file. # Conflicts: # CMakeLists.txt
2021-06-13CMakeLists: require explicit BUILD_WITH_QT6 for Qt 6Alexey Rusakov
It's not there, it's experimental - people should know what they are doing.
2021-06-13Generate a moc file for quotient_common.hAlexey Rusakov
Previously Q_NAMESPACE did not require its own moc, somehow blending into others; now it does.
2021-06-12CMakeLists: require at least Qt 5.12; add Qt 6 supportAlexey Rusakov
2021-01-25CMakeLists.txt: refactor configuration of featuresAlexey Rusakov
- The feature summary is only generated at the end of the configuration. - InstallQuotest feature is defined in quotest/CMakeLists.txt now, and therefore is only available if quotest is getting built (i.e., if BUILD_TESTING is on). - API generation configuration code merged from two places into one.
2021-01-25CMakeLists.txt: include(CTest)Alexey Rusakov
It's a missing line from the recent autotests introduction. Without it CMake doesn't introduce BUILD_TESTING option, and if you explicitly pass it, fails to configure the project.
2021-01-21Move testsCarl Schwan
2021-01-15Merge branch 'master' into dfaure/stricter-flagsKitsune Ral
2021-01-06Use CMAKE_INSTALL_DATADIR instead of hard-coding shareHeiko Becker
Signed-off-by: Heiko Becker <heirecka@exherbo.org>
2020-12-28Add cmake changeCarl Schwan
2020-12-03CMakeLists.txt: fix configuration failuresKitsune Ral
2020-12-03CMakeLists.txt: reworked configuration loggingKitsune Ral
Notably, screen-wide ==== fences are gone, and the status messages are now located next to where the relevant piece of configuration occurs, instead of having a configuration summary block. Also, features related to code generation have been added for feature_summary().
2020-12-02Merge pull request #416 from ognarb/work/cmakefeaturesummaryKitsune Ral
Add feature summary to cmake file
2020-11-26Enable QT_NO_URL_CAST_FROM_STRING and QT_STRICT_ITERATORS.David Faure
* QT_NO_URL_CAST_FROM_STRING makes it clearer where QUrls are created from QStrings (which incurs a parsing cost). * QT_STRICT_ITERATORS helps detecting where begin()/end() is used instead of cbegin()/cend(). KDE developers have verified that the generated assembly code is identical.
2020-11-26Add feature summary to cmake fileCarl Schwan
2020-11-24CMakeLists.txt: enable generating csapi/search.*Kitsune Ral
Now that the logic behind producing the C++ structures changed (they are filled in on the fly, rather than created upon job completion and then copied/moved by the accessor), GTAD makes buildable code for search.yaml.
2020-08-11Build system optimisationsKitsune Ral
* -DQT_NO_JAVA_STYLE_ITERATORS * Use precompiled headers on CMake >= 3.16 (except GCC, blame its cheap PCH implementation) * -fvisibility-inlines-hidden when using CMake
2020-08-02Bump the API versionKitsune Ral
2020-07-19MatrixUri->Uri: Extend to non-Matrix URIsKitsune Ral
2020-07-18ResourceResolverKitsune Ral
Introducing the uniform way to resolve Matrix URIs and identifiers to Room/User objects, passing an optional event id (if supplied) to the client-defined handler. Just call ResourceResolver::visitResource() or ResourceResolver::openResource() and you'll have that string parsed and dispatched where you need.
2020-06-12Merge remote-tracking branch 'origin/kitsune-conservative-configure-depends'Kitsune Ral
2020-06-12CMakeLists.txt: fix a typoKitsune Ral
2020-06-12CMakeLists.txt: fix update-api target when there's no clang-formatKitsune Ral
2020-06-11CMakeLists.txt: only use CONFIGURE_DEPENDS when neededKitsune Ral
2020-06-10CMakeLists.txt: exclude key_backup.yaml from APIKitsune Ral
As of now, it's a bit immature for code generation. Will be reincluded once it gets better.
2020-06-07gtad/*: optimise and use latest GTAD featuresKitsune Ral
- The generated code is updated to be compatible with the BaseJob changes introduced in the previous commit. This includes greatly reducing the number of header files that have to be explicitly #included, as basejob.h now #includes converters.h. Also, thanks to the changes in BaseJob, none of generated job classes needs a pimpl Private class. - gtad/template.*.mustache files are replaced with data.h.mustache for data structures (entirely defined in header files from now on) and operation.*.mustache for API operations (also massively moved to header files, possibly also becoming header-only in the future). - New variable-dropping and title-overring features in GTAD 0.7 allow to use the upstream matrix-doc repo to generate the code. - CMakeLists.txt makes use of file globbing with CONFIGURE_DEPENDS where possible to alleviate build reconfiguration after a GTAD call.
2020-06-01GTAD parts: new home and format updates for GTAD 0.7Kitsune Ral
All GTAD-related files (gtad.yaml and templates) from now live in their dedicated gtad/ directory - this helps against removing them accidentally along with the rest of the generated files. The format to list generated files in gtad.yaml has changed a bit before GTAD 0.7 beta2; gtad.yaml in this commit conforms to the new structure.
2020-04-13CMakeLists.txt: update libQtOlm to 3.0.1Bart Ribbers
2020-04-06CMakeLists: install header files to a subdirectoryKitsune Ral
This is a Quotient part of #328 fix; QtOlm part is pending.
2020-03-29Fix building tests with installed Quotient in E2EE configurationKitsune Ral
2020-03-28CMakeLists.txt: don't EXCLUDE_FROM_ALL if QtOlm is in-treeKitsune Ral
2020-03-18SsoSession and Connection::prepareForSso()Kitsune Ral
The response in the web browser is quite barebone, just enough to give feedback that things are alright. Closes #386. Closes #388.
2020-03-12E2EE: Make building E2EE optional. Contributes to #369Alexey Andreev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: introduce RoomKeyEventAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-18[quotest] Refactor Cmake files with variable project nameAlexey Andreev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2019-12-29Merge branch 'master' of https://github.com/quotient-im/libQuotient into ↵Black Hat
bhat-powerlevel
2019-12-29Add RoomPowerLevelEvent typeBlack Hat
2019-11-01Derive Omittable<> from std::optional<>Kitsune Ral
That breaks API all over the place but: 1. The fixes are trivial. 2. More of std:: is used instead of home-baking the same stuff.
2019-10-18qmc-example -> quotest, QMCTest -> TestManagerKitsune Ral
Also: some bits of refactoring in the test code to make it more extensible. Closes #352.
2019-09-30Move C++ standard requirement to target_compile_featuresKitsune Ral
...so that users of the library wouldn't need to redefine that they need C++17.
2019-09-11CMakeLists.txt: use set_target_properties(); specify C++ std per-targetKitsune Ral
2019-08-11CMakeLists.txt: tell CMake to not add /W3 flag for MSVCKitsune Ral
...because /W4 is explicitly added instead.
2019-08-11More MSVC suppresions; switch to C++17 in qmake as wellKitsune Ral
2019-08-11CMakeLists.txt: more MSVC warning suppresionsKitsune Ral
2019-08-11CMakeLists.txt: suppress more MSVC warningsKitsune Ral
2019-08-11CMakeLists.txt: fixed typosKitsune Ral
2019-08-11CMakeLists.txt: suppress some MSVC warningsKitsune Ral