Status Desktop client made in Nim & QML https://status.app
Go to file
Stefan 1e8c851283 chore(CPP): Basic project configuration setup using Qt6
Considerations

- Use versioned files. Versioned Qt CMake APIs are disabled to force explicit calls and say that we don't support older `QT`s
- Don't use blobbing. Use `target_sources` and `qt_target_qml_sources`
- Distribute `CMake` definitions closer to the context: main folders with their own `CMakeLists.txt`
- Everything in libraries under `Status` namespace for cleaner code.
- Includes are exposed with Module folder externally and without prefix internally
- File/Folders name matches definitions they contain for uniformity that leads to cleaner code
- All source files (cpp, qml, js ...) have to be added to one of the CMakeLists.txt files to be tracked by CMake build system.
- Use BUILD_DEBUG, BUILD_RELEASE and BUILD_DEVELOPMENT variables from Helpers library
- Avoid Include directories. Not needed anymore CMake `target_*` APIs handles this through `INTERFACE`, `PUBLIC` and `PRIVATE` scope identifiers
- `StatusQ` is meant to be compiled as an external library, therefore StatusQ tests are kept inside its own directory
- Forced CMake version to `3.21` for the latest features and fixes. It is desired to be kept as recent as possible due to its backward compatibility. Following Qt's shipped version might be an option
- Depends on status-go changes to allow forcing of arm for apple silicon

Found limitations to CMake Qt API with Qt 6.3

- Having `0` as major version when using `qt_add_qml_module` doesn't work. Qml engine reports loading the `qmldir` but won't load the plugin library and no error is reported outside that exposed types are not found.
- `qt_target_qml_sources` doesn't work now, it generate a double copy error when deploying qml files in bin-directory. For now we stick with adding files using `qt_add_qml_module` central place
  - Need to add `OUTPUT_DIRECTORY` to `qt_add_qml_module` to use the workaround
- If `MACOSX_BUNDLE` target property is set breaks importing of QML files. Disabled until fixed or workaround found
- For an unknown reason application executable tries to include the `QML_ELEMENT` include files, therefore for now I include all the C++ qml elements in INTERFACE
2022-06-30 12:16:33 +02:00
.github Update feature-issue.md 2021-11-11 09:21:43 -05:00
app chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
build feat: base_cpp 2022-02-01 15:48:54 -04:00
ci ci: remove caching of dependencies 2022-04-15 12:45:27 +02:00
cmake chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
libs chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
resources feat: use ipfs rate limiter 2022-05-12 15:07:29 -04:00
scripts chore(Build): raise awareness of brew download failed 2022-06-27 10:10:29 +02:00
spellchecking@f1a88d1147 feat(spellchecking): add dictionaries as submodule 2021-09-17 12:57:28 -04:00
src fix(backend): Add some text to image message 2022-06-29 17:08:59 +03:00
src-cpp chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
test chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
test-scripts chores(@general): remove status-lib deps 2022-02-03 11:52:45 -05:00
ui chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
vendor chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
.clang-format style(@desktop/cpp): apply clang-format on src-cpp/* 2022-02-21 19:55:01 +01:00
.clang-tidy refactor(@desktop/cpp): improve cpp code 2022-03-01 16:05:21 +01:00
.gitignore fix(EditCroppedImagePanel): update position following changes in StatusQ 2022-05-31 12:26:33 +03:00
.gitmodules chores(@general): remove status-lib deps 2022-02-03 11:52:45 -05:00
.npmrc
.yarnrc
AppRun
CMakeLists.txt chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
Info.dev.plist feat(desktop/general): app support for status-im:// URIs - mac 2022-06-01 08:42:57 +02:00
Info.plist feat(desktop/general): app support for status-im:// URIs - mac 2022-06-01 08:42:57 +02:00
LICENSE.md docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
Makefile fix(Makefile): ensure `pkg` target rebuilds status client 2022-06-28 13:47:41 +02:00
QtWebEngineProcess.plist
README.md chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
VERSION release(@desktop): 0.5.0 beta 2022-05-17 17:13:25 -04:00
build-linux.sh fix: code review 2022-03-10 14:12:11 -04:00
cacert.pem fix(@desktop/windows): installer to include cacert.pem 2021-09-06 14:47:18 -04:00
conanfile.py feat(@desktop/cpp): add conanfile, fruit, gtest 2022-02-01 15:48:54 -04:00
config.nims try to fix macos linking 2021-10-06 08:32:32 -04:00
docker-linux-app-image.sh build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
env.sh
fleets.json chore: add status.prod fleet 2022-03-11 15:52:47 -05:00
nim-status.desktop build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
nim.cfg
nim_status_client.nimble
package-lock.json chore(@desktop/general): Upgrade fileicon to v. 0.3.0 2022-04-11 12:18:54 -04:00
package.json chore(@desktop/general): Upgrade fileicon to v. 0.3.0 2022-04-11 12:18:54 -04:00
screenshot.png remove docs folder from repo (moved to https://hackmd.io/@status-desktop/B1eOaf-nd) 2021-06-24 15:07:30 -04:00
status-dev.icns
status-dev.svg chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
status-macos-dev.svg
status-macos.ico chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
status-macos.svg
status.icns
status.ico chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
status.iss feat(@desktop/Windows): status-im:// protocol support and installer fixes 2021-09-09 16:53:09 -04:00
status.svg chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
windows-install.txt