Technologies used in Yzis

From Yzis Wiki

Jump to: navigation, search

Yzis is not doing all of its own. Some external tools are used to help build yzis. Yzis is built on top of some other software components. We describe all of those in this chapter.

Contents

Cmake

cmake is a replacement for the autotools ( autoconf/automake and such). We decided to switch to cmake because the autotools are evil, and, moreover, KDE officially switched to cmake. Yzis is quite close to kde, and usually follows KDE decisions on this kind of topic. You can find more information about cmake on http://www.cmake.org . Yzis requires cmake version 2.4.1 or newer.

Mercurial

Mercurial is a distributed Software Configuration Management(SCM), or Source Control, or Revision Control, or even Version Control System (VCS). That is, mercurial is used to handle source files. It keeps the history for all changes to the file and help the team to share the source.

Useful links:

Doxygen

Doxygen is a tool which generates documentation from text inserted in the code itself (as comments). This is typically used to describe APIs. See http://www.doxygen.org.

We also use Doxygen to write this very handbook.

Qt

Yzis is built on top of the Qt-4 C++ library, which provides some generic useful classes and some optional GUI widgets. Qt is most widely known as the basis for KDE . There are separates libraries for the different Qt components : QtCore, QtGui, QtXml, ... We use QtCore for libyzis and QtGui for QYzis.

See http://www.trolltech.com for more details, and especially http://doc.trolltech.com/

Lua

Lua is a small footprint script language designed to be easily embedded in applications. Yzis uses lua for its main scripting language. See http://www.lua.org.

We might move to a more advanced scripting framework in the future.