Shinmera / qt-libs

Helper system to ensure the necessary library for CommonQt/Qtools development are available and deployable.
zlib License
18 stars 8 forks source link

About qt-libs Build Status

Working with Qtools requires working with CommonQt. This in turn currently requires working with SmokeQt. However, SmokeQt is not easily available on all platforms (especially OS X). This project should simply ensure that the libraries are either available by your system directly, or that they are built automatically for you. This ensures that Qtools can be used directly with hopefully no further user intervention being necessary.

The Details

There are two systems to be aware of: qt-lib-generator and qt-libs. The former is what's responsible for building and ensuring the external smoke libraries. The latter invokes the former if necessary, and stores the desired libraries in an easily accessible location, while also ensuring that CommonQt is tricked into using the proper paths when loading its libraries.

In effect this means that if you are running a project that depends on CommonQt (:qt), you should instead depend on :qt-libs, which will try to make sure that everything concerning foreign libraries will go smoothly. By default it uses prebuilt binaries that come from relatively recent, but not too recent systems. This should hopefully mean that all the dependant versions will be available on most systems out there. If that is not the case, you can try to build your own versions to ship.

In the future, CommonQt will use its own system to hook into Qt and drop Smoke support. When that time comes, this project will hopefully become obsolete. However, for the time being, Smoke is a necessary evil, and as such, this library hopes to make things a bit easier.

Precompiled Packages

Included in the precompiled packages for each platform are unless otherwise noted:

Notes About the Platforms

Windows

Linux

Mac OS X

Lisp

The following implementations have been tested to work. Others may as well, but are not officially supported.

Cook It Up!

On Linux and OS X you can automatically compile new versions of the libraries (except for Qt) if you need to. For Windows, see this article. In order to do this, follow these steps:

(ql:quickload :qt-libs)
(qt-libs:ensure-standalone-libs :method :install-sources :force T)

That should automatically download the necessary sources, copy the Qt binaries from your system, and compile the rest of the libraries.