No description
Find a file
Ivailo Monev 9dc77bddc0 correct variable name in main tests CMake file
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-12-02 04:22:03 +00:00
cmake remove variables that do not actually affect ctest from runtest script 2019-12-01 13:34:07 +00:00
mkspecs change KATIE_KEY pattern to similar to machine identifier of compilers [ci skip] 2019-12-01 06:14:00 +00:00
package reimplement character properties and character manipulation via ICU 2019-11-22 00:00:35 +00:00
scripts add separate build time option for tests and benchmarks 2019-12-02 02:34:13 +00:00
src lock when setting QThreadPool expiry time 2019-12-01 15:07:17 +00:00
tests correct variable name in main tests CMake file 2019-12-02 04:22:03 +00:00
translations update translations [ci skip] 2019-11-20 14:06:24 +00:00
util fix lexgen test build 2019-12-01 13:02:59 +00:00
.gitignore update .gitignore [ci skip] 2019-11-20 15:26:28 +00:00
.kateproject add Kate project file 2016-04-18 08:18:39 +00:00
.travis.yml add separate build time option for tests and benchmarks 2019-12-02 02:34:13 +00:00
_config.yml Set theme jekyll-theme-cayman 2017-05-07 02:41:44 +00:00
CMakeLists.txt add separate build time option for tests and benchmarks 2019-12-02 02:34:13 +00:00
doxygen.conf remove redundant exclude pattern from doxygen config 2019-07-29 10:17:19 +00:00
header.BSD copyright changes 2019-06-03 13:38:02 +00:00
header.FDL copyright changes 2019-06-03 13:38:02 +00:00
header.LGPL copyright changes 2019-06-03 13:38:02 +00:00
header.LGPL3 copyright changes 2019-06-03 13:38:02 +00:00
header.LGPL21 copyright changes 2019-06-03 13:38:02 +00:00
index.md link README to index.md for the web page 2017-05-06 17:47:24 +00:00
LGPL_EXCEPTION.txt initial import 2015-12-10 05:06:13 +02:00
LICENSE.FDL initial import 2015-12-10 05:06:13 +02:00
LICENSE.LGPL copyright changes 2019-06-03 13:38:02 +00:00
LICENSE.LGPLv3 copyright changes 2019-06-03 13:38:02 +00:00
LICENSE.LGPLv21 copyright changes 2019-06-03 13:38:02 +00:00
README fix upstream QTBUG-15773 and QTBUG-70506 2019-11-26 23:15:58 +00:00

Katie is continuation of the Qt4 C++ toolkit with the goal to keep it alive,
clean it up, fix some bugs and backport some features from Qt5. It is based
on the latest Git revision of Qt v4.8.

There are several things you should be aware before considering Katie:

 - some components and tools have been removed:
  - QMake, Linguist, Assistant, checksdk, macdeployqt, pixeltool, qconfig,
    qdoc, qev, qvfb, runonphone and other non-essential
  - Qt3Support, QtWebKit, QtHelp, QtXmlPatterns, QtOpenGL, ActiveQt, Phonon and
    QtMultimedia

 - some things have changed:
  - QMake build system replaced with CMake
  - QStyleOption*V{2,3,4} classes have been merged
  - QIconEngineV{2} classes have been merged
  - QIconEnginePluginV{2} classes have been merged
  - QIconEngineFactoryInterfaceV{2} classes and interfaces have been merged
  - QKeyEventEx and QKeyEvent classes have been merged
  - QMouseEventEx and QMouseEvent classes have been merged
  - QGuiPlatformPlugin class is public
  - zlib, zstd, OpenSSL, PCRE, Freetype, ICU and X11 are required for building
  - OpenSSL, D-Bus, CUPS, resolv and NSL cannot be runtime dependencies, they
    must be linked to during build
  - QtUiTools is build as shared library by default
  - moc, uic, rcc, lrelease, lupdate, etc. are linked to components
  - updated bundled Harfbuzz from upstream (not Harfbuzz-NG)
  - updated bundled FFTW and Valgrind from upstream
  - updated localizations data from Common Locale Data Repository v36
  - SQLite driver uses UTF-8 encoding instead of UTF-16
  - default text codec for C-strings is UTF-8
  - Symbian, QWS, QPA, Mac and Windows are no longer supported platforms
  - OpenVG is no longer supported graphics output
  - Blitter is no longer supported painting engine
  - native graphics system is no more, rasterizer is just as fast as native
  - QPicture, QPictureIO and plugins for it are no longer supported
  - QML debugger and inspector have been removed, potentially dangerous
  - no SIMD, zero performance impact with decent compiler
  - state machine is no more
  - removed non-open source DB2, OCI, TDS and InterBase database drivers
  - removed 3rd party sources that are very common nowdays
  - dropped dnotify filesystem watcher support
  - dropped Glib2 event dispatcher support

 - some additions have been made: 
  - JSON classes and types
  - command line parser
  - standard directories handler
  - building with OpenSSL v1.1+ is possible
  - building with IODBC instead of unixODBC is possible
  - building with LTO is possible and supported, if the toolchain can handle it
  - building without resolv is possible
  - building without threads is possible
  - alternative libc implementations support
  - additional text codecs via ICU converter
  - Unicode v5.0+ characters and partial scripts support
  - support for locale aliases
  - support for generating SHA-224, SHA-256, SHA-384, SHA-512 hash sums (SHA-2)
  - verification section for plugins build with Clang
  - faster alternatives to qCompress() and qUncompress()
  - brief manual pages for all command-line tools
  - desktop files, Shell profile and dynamic linker/loader config
  - automatic async DBus calls based on return type, no Q_NOREPLY needed
  - more reliable qrand(), seeded per thread
  - improved signal/slot template arguments handling
  - improved OpenSSL default certificate and certificates directory detection
  - improved namespaces support and introduced QT_NAMESPACE_COMPAT
  - script component relies on PCRE instead of internal copy
  - tests and benchmarks can be run without prior installation

Bugs fixed in Katie, some of which in Qt5 too:
QTBUG-23502, QTBUG-37115, QTBUG-15052, QTBUG-23522, QTBUG-6139, QTBUG-26889,
QTBUG-21548, QTBUG-6133, QTBUG-18188, QTBUG-36767, QTBUG-35387, QTBUG-37035,
QTBUG-28321, QTBUG-21993, QTBUG-26590, QTBUG-2124, QTBUG-20482, QTBUG-41361,
QTBUG-40153, QTBUG-35479, QTBUG-1628, QTBUG-42989, QTBUG-34861, QTBUG-46767,
QTBUG-25114, QTBUG-24672, QTBUG-23524 (WIP), QTBUG-56088, QTBUG-42189,
QTBUG-39285, QTBUG-18173, QTBUG-28968, QTBUG-34336, QTBUG-40974, QTBUG-44286,
QTBUG-12564, QTBUG-20028, QTBUG-71967, QTBUG-70956, QTBUG-71446, QTBUG-61307,
QTBUG-27287, QTBUG-25143, QTBUG-22833, QTBUG-57399, QTBUG-59159, QTBUG-15773,
QTBUG-70506

Unless you use QMake and QDoc porting to Katie or even supporting it along with
Qt4 in the same codebase is trivial and requires only minor changes because
Katie is mostly source compatible with Qt 4.8.x, compatibility with releases
earlier than that is not a goal. Do note that using libraries that
are linked to Qt4 from applications linked to Katie will trigger undefined
behaviour.

Should you enouncter a problem please report it at
https://github.com/fluxer/katie/issues. For more information about changes,
how to handle them and general info please visit
https://github.com/fluxer/katie/wiki.