Build SqlCipher as a Qt 5 plugin
Switch branches/tags
Nothing to show
Clone or download
Simon Knopp
Simon Knopp Add ability to disable tests
The tests require C++14 although the rest of the code doesn't. Adding the
ability to disable tests lets people with old compilers build the plugin.
Latest commit fbaa832 Jan 17, 2016

README.md

Qt SQL driver plugin for SQLCipher

This is a QSqlDriverPlugin for SQLCipher. It is quite simple - it uses Qt's own SQLite driver code but links against SQLCipher instead of SQLite.

Dependencies

  • Qt 5
  • SQLCipher
  • CMake >= 3.0
  • pkg-config

Tested platforms

  • OS X 10.10 Yosemite

    • Qt 5.5.0 from Homebrew
    • SQLCipher 3.3.0 from Homebrew
  • Ubuntu 15.04 Vivid Vervet

    • Qt 5.4.1
    • SQLCipher 3.2.0
    • Also requires qtbase5-private-dev for Qt's private headers.

Deployment

Follow Qt's plugin deployment guide. In short, put the plugin at sqldrivers/libqsqlcipher.so relative to your executable.

Static linking

You can also build the plugin statically by passing -DSTATIC=ON to CMake. When you build your application which uses the static plugin, you'll need to include the line Q_IMPORT_PLUGIN(QSQLCipherDriverPlugin); in one of your source files and define QT_STATICPLUGIN at compile time. And link to the static plugin, of course.

Note that setting -DSTATIC=ON only builds this plugin as a static library. If you also want to link to static versions of Qt and/or SQLCipher, it's up to you to make sure CMake finds static versions of those libraries.

Tests

Some basic tests are included - run make test. Note that while pretty much any C++ compiler can build the actual plugin, the tests require support for C++14. If you have an old compiler you can pass -DBUILD_TESTING=OFF to CMake to skip building the tests.


Old version

This repository used to contain a different method of achieving the same result, but which required you to have the full Qt source tree available. That code is available in the old branch of this repository.