f145d30350
since most of the compilation time is spent on creating the QRC bundle and the resulting binary is quite huge, advice the `rcc` compiler to add support for "big resources" (cf https://doc.qt.io/qt-6/resources.html#embedding-large-files) Also pass the env $LDFLAGS to qmake (to be able to link e.g. with mold, which again greatly reduces the time to link the binary) this leads to 6-10x faster time when recompiling (Linux, gcc 12.1.1, mold 1.3.0) BEFORE: Clean build: real 0m57,256s user 1m25,869s sys 0m40,963s Incremental build, one file touched: real 0m54,323s user 0m54,012s sys 0m2,934s AFTER: Clean build: real 0m7,276s user 0m21,001s sys 0m37,256s Incremental build, one file touched: real 0m5,569s user 0m4,850s sys 0m0,840s |
||
---|---|---|
.. | ||
.github | ||
doc | ||
sandbox | ||
src | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
README.md | ||
statusq.qrc |
README.md
StatusQ
An emerging reusable QML UI component library for Status applications.
Usage
StatusQ introduces a module namespace that semantically groups components so they can be easily imported. These modules are:
- StatusQ.Core
- StatusQ.Core.Theme
- StatusQ.Core.Utils
- StatusQ.Components
- StatusQ.Controls
- StatusQ.Layout
- StatusQ.Platform
- StatusQ.Popups
Provided components can be viewed and tested in the sandbox application that comes with this repository. Other than that, modules and components can be used as expected.
Example:
import Status.Core 0.1
import Status.Controls 0.1
StatusInput {
...
}
Viewing and testing components
To make viewing and testing components easy, we've added a sandbox application to this repository in which StatusQ components are being build. This is the first place where components see the light of the world and can be run in a proper application environment.
Using Qt Creator
The easiest way to run the sandbox application is to simply open the provided sandbox.pro
file using Qt Creator.
Using command line interface
To run the sandbox from within a command line interface, run the following commands:
$ git clone https://github.com/status-im/StatusQ
$ cd StatusQ/sandbox
$ ./scripts/build
Once that is done, the sandbox can be started with the generated executable:
$ ./bin/sandbox
More Documentation available on the wiki