Skip to content
/ alkimia Public

Library used by KDE finance applications

License

Notifications You must be signed in to change notification settings

KDE/alkimia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building instruction

Requirements

  • cmake
  • git
  • cmake supported C++ compiler including linker
  • Qt4 or Qt5 development packages (see below)
  • KDELibs4 or KF5 development packages (see below)
  • libMPIR or libGMP

Required development components to build Alkimia with Qt4 and KDELibs4

extra-cmake-modules
gmp-devel
KDE4-devel

Required development components to build Alkimia5 with Qt5 and KF5

Qt5::Core
Qt5::Network (optional -DBUILD_WITH_QTNETWORK=1)
Qt5::Test
Qt5::WebKitWidgets
Qt5::WebEngineWidgets (optional, experimental)
Qt5::Qml

KF5::Config
KF5::CoreAddons
KF5::Completion
KF5::I18n
KF5::Package (optional)
KF5::Plasma  (optional)
KF5::NewStuff
KF5::KIO (optional -DBUILD_WITH_QTNETWORK=0)
KF5::IconThemes
KF5::TextWidgets
KF5::XmlGui

Packages

The names of the development packages that contain these components
are often distribution-specific, some examples are given below:

- KDE4:
    - opensuse
        extra-cmake-modules
        gmp-devel
        libkde4-devel
    - mingw32 cross compile on obs:
        mingw32-extra-cmake-modules
        mingw32-gmp-devel
        mingw32-libkde4-devel
    - mingw64 cross compile on obs:
        mingw64-extra-cmake-modules
        mingw64-gmp-devel
        mingw64-libkde4-devel
- KF5:
    - opensuse
        extra-cmake-modules
        gmp-devel
        libQt5Core-devel
        libQt5Test-devel
        libQt5DBus-devel
        libQt5WebKit-devel
        kconfig-devel
        kcoreaddons-devel
        kcompletion-devel
        ki18n-devel
        kiconthemes-devel
        kio-devel              (optional)
        knewstuff-devel
        kpackage-devel         (optional)
        ktextwidgets-devel
        kxmlgui-devel
        plasma-framework-devel (optional)
    - msvc (craft):
        libs/qt5/qtbase
        libs/qt5/qtwebkit
        kde/frameworks/extra-cmake-modules
        kde/frameworks/extra-cmake-modules
        kde/frameworks/tier3/knewstuff
        kde/frameworks/.../kconfig
        kde/frameworks/.../kcoreaddons
        kde/frameworks/.../kcompletion
        kde/frameworks/.../ki18n
        kde/frameworks/.../kiconthemes
        kde/frameworks/.../kio                (optional)
        kde/frameworks/.../knewstuff
        kde/frameworks/.../kpackage           (optional)
        kde/frameworks/.../ktextwidgets
        kde/frameworks/.../kxmlgui
        kde/frameworks/tier3/plasma-framework (optional)
        libs/mpir

Fetch alkimia source package from git repo and unpack into a subdirectory with

cd <root-dir>
git clone <alkimia-git-repo-url>

For building with Qt5 run the following shell commands

mkdir <root-dir>/alkimia-build
cd <root-dir>/alkimia-build
cmake <root-dir>/alkimia
make
sudo make install

In case you are building for Qt4 add -DBUILD_QT4=1 to the cmake command line e.g.

cmake -DBUILD_QT4=1 <root-dir>/alkimia

To use alkimia in client applications or libraries with cmake and Qt5 add the following line to the top level CMakeLists.txt

find_package(LibAlkimia5)

for application or libraries with Qt4 add the following line to the top level CMakeLists.txt

find_package(LibAlkimia)

On creating targets add the library with

add_executable(<target> ...)
target_link_libraries(<target>  Alkimia::alkimia)

In source code include header file for example with

#include <alkimia/alkvalue.h>

...

The alkimia library can be created with support for the external perl package "Finance:Quote".

On Linux hosts this is automatically enabled, on Windows hosts the parameter -DENABLE_FINANCEQUOTE=1 has to be added to the CMake call.

Packages using alkimia can check and use this support with a CPP condition.

#ifdef HAVE_ALK_FINANCEQUOTE
#include <alkimia/alkfinancequoteprocess.h>
#endif

#ifdef HAVE_ALK_FINANCEQUOTE
...
#endif