Technologies used in Yzis
From Yzis Wiki
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:
- http://en.wikipedia.org/wiki/SCM
- http://en.wikipedia.org/wiki/Revision_control
- http://www.selenic.com/mercurial : official website, with documentation
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.
