Fluid is a collection of cross-platform QtQuick components for building fluid and dynamic applications, using the Material Design guidelines.
Online documentation is available at liri.io.
We develop using the git flow method
this means that the develop
branch contains code that is being developed and might break
from time to time. If you want to check out a stable version just install one of the
releases or clone the master
branch that has the latest released version.
Qt >= 5.10.0 with at least the following modules is required:
The following modules and their dependencies are required:
- qbs >= 1.9.0
- qbs-shared >= 1.2.0
Qbs is a new build system that is much easier to use compared to qmake or CMake.
If you want to learn more, please read the Qbs manual, especially the setup guide and how to install artifacts from the installation guide.
Open up fluid.qbs
with QtCreator, hit build and run to see the demo in action.
Alternatively you can build it yourself from the terminal. We strongly advise against manual builds, unless you have previous experience.
Qbs does not currently support Android builds, please use per-project installation if you are building a mobile app.
If you haven't already, start by setting up a qt5
profile for qbs
:
git submodule update --init --recursive
qbs setup-toolchains --type gcc /usr/bin/g++ gcc
qbs setup-qt $(which qmake) qt5 # make sure that qmake is in PATH
qbs config profiles.qt5.baseProfile gcc
Then, from the root of the repository, run:
qbs -d build -j $(nproc) profile:qt5 # use sudo if necessary
To the qbs
call above you can append additional configuration parameters:
modules.lirideployment.prefix:/path/to/prefix
where most files are installed (default:/usr/local
)modules.lirideployment.dataDir:path/to/lib
where data files are installed (default:/usr/local/share
)modules.lirideployment.libDir:path/to/lib
where libraries are installed (default:/usr/local/lib
)modules.lirideployment.qmlDir:path/to/qml
where QML plugins are installed (default:/usr/local/lib/qml
)modules.lirideployment.pluginsDir:path/to/plugins
where Qt plugins are installed (default:/usr/local/lib/plugins
)modules.lirideployment.qbsModulesDir:path/to/qbs
where Qbs modules are installed (default:/usr/local/share/qbs/modules
)
See lirideployment.qbs for more deployment-related parameters.
See also System-wide installation.
You can also append the following options to the last line:
projects.Fluid.withDemo:false
: Do not build the demo app.projects.Fluid.withQmlModules:false
: Do not build QML modules.projects.Fluid.withDocumentation:false
: Do not build the documentation.projects.Fluid.useStaticAnalyzer:true
to enable the Clang static analyzer.projects.Fluid.useSystemQbsShared:true
to use a system-wide installation of qbs-shared instead of the git submodule included here.
Run the demo with (unless projects.Fluid.withDemo:false
):
qbs run --no-build -d build --products fluid-demo
The HTML documentation is built if projects.Fluid.withDocumentation:true
is passed
to qbs and it is localed inside <install root>/<prefix>/share/doc/fluid/html
.
Open <install root>/<prefix>/share/doc/fluid/html/index.html
with a browser to read it.
You can either install system-wide or per-project installation which is essentially embedding Fluid in your project.
System-wide installations are usually performed by packagers who want to redistribute Fluid in their Linux distro.
Per-project installation is most useful for mobile developers that want to build Fluid alongside their project.
We assume that your distro installs QtQuick modules in /usr/lib/qt/qml
like Arch Linux
does, please change the paths for your Linux distro.
The same goes for other operating systems.
From the root of the repository, run:
git submodule update --init --recursive
qbs setup-toolchains --type gcc /usr/bin/g++ gcc
qbs setup-qt /usr/bin/qmake-qt5 qt5
qbs config profiles.qt5.baseProfile gcc
qbs build --no-install -d build profile:qt5 modules.lirideployment.prefix:/usr modules.lirideployment.qmlDir:/usr/lib/qt/qml
sudo qbs install -d build --no-build -v --install-root / profile:qt5
Please note that a system-wide installation is discouraged in most cases because there's a risk to "pollute" your system with libraries not managed by a package manager.
You can embed Fluid in your project and build it along your app.
We have an example with qmake in examples/perproject/minimalqmake
and another one for qbs in examples/perproject/minimalqbs
.
Licensed under the terms of the Mozilla Public License version 2.0.