Warning, /office/alkimia/README.md is written in an unsupported language. File is not indexed.

0001 # Building instruction
0002 
0003 Requirements
0004 * cmake
0005 * git
0006 * cmake supported C++ compiler including linker
0007 * Qt4 or Qt5 development packages (see below)
0008 * KDELibs4 or KF5 development packages (see below)
0009 * libMPIR or libGMP
0010 
0011 
0012 
0013 Required development components to build Alkimia with Qt4 and KDELibs4
0014 
0015     extra-cmake-modules
0016     gmp-devel
0017     KDE4-devel
0018 
0019 Required development components to build Alkimia5 with Qt5 and KF5
0020 
0021     Qt5::Core
0022     Qt5::Network (optional -DBUILD_WITH_QTNETWORK=1)
0023     Qt5::Test
0024     Qt5::WebKitWidgets
0025     Qt5::WebEngineWidgets (optional, experimental)
0026     Qt5::Qml
0027 
0028     KF5::Config
0029     KF5::CoreAddons
0030     KF5::Completion
0031     KF5::I18n
0032     KF5::Package (optional)
0033     KF5::Plasma  (optional)
0034     KF5::NewStuff
0035     KF5::KIO (optional -DBUILD_WITH_QTNETWORK=0)
0036     KF5::IconThemes
0037     KF5::TextWidgets
0038     KF5::XmlGui
0039 
0040 Packages
0041 
0042     The names of the development packages that contain these components
0043     are often distribution-specific, some examples are given below:
0044 
0045     - KDE4:
0046         - opensuse
0047             extra-cmake-modules
0048             gmp-devel
0049             libkde4-devel
0050         - mingw32 cross compile on obs:
0051             mingw32-extra-cmake-modules
0052             mingw32-gmp-devel
0053             mingw32-libkde4-devel
0054         - mingw64 cross compile on obs:
0055             mingw64-extra-cmake-modules
0056             mingw64-gmp-devel
0057             mingw64-libkde4-devel
0058     - KF5:
0059         - opensuse
0060             extra-cmake-modules
0061             gmp-devel
0062             libQt5Core-devel
0063             libQt5Test-devel
0064             libQt5DBus-devel
0065             libQt5WebKit-devel
0066             kconfig-devel
0067             kcoreaddons-devel
0068             kcompletion-devel
0069             ki18n-devel
0070             kiconthemes-devel
0071             kio-devel              (optional)
0072             knewstuff-devel
0073             kpackage-devel         (optional)
0074             ktextwidgets-devel
0075             kxmlgui-devel
0076             plasma-framework-devel (optional)
0077         - msvc (craft):
0078             libs/qt5/qtbase
0079             libs/qt5/qtwebkit
0080             kde/frameworks/extra-cmake-modules
0081             kde/frameworks/extra-cmake-modules
0082             kde/frameworks/tier3/knewstuff
0083             kde/frameworks/.../kconfig
0084             kde/frameworks/.../kcoreaddons
0085             kde/frameworks/.../kcompletion
0086             kde/frameworks/.../ki18n
0087             kde/frameworks/.../kiconthemes
0088             kde/frameworks/.../kio                (optional)
0089             kde/frameworks/.../knewstuff
0090             kde/frameworks/.../kpackage           (optional)
0091             kde/frameworks/.../ktextwidgets
0092             kde/frameworks/.../kxmlgui
0093             kde/frameworks/tier3/plasma-framework (optional)
0094             libs/mpir
0095 
0096 
0097 Fetch alkimia source package from git repo and unpack into a subdirectory with
0098 
0099     cd <root-dir>
0100     git clone <alkimia-git-repo-url>
0101 
0102 
0103 For building with Qt5 run the following shell commands
0104 
0105     mkdir <root-dir>/alkimia-build
0106     cd <root-dir>/alkimia-build
0107     cmake <root-dir>/alkimia
0108     make
0109     sudo make install
0110 
0111 
0112 In case you are building for Qt4 add -DBUILD_QT4=1 to the cmake command line e.g.
0113 
0114     cmake -DBUILD_QT4=1 <root-dir>/alkimia
0115 
0116 
0117 To use alkimia in client applications or libraries with cmake and Qt5 add the following line to the top level CMakeLists.txt
0118 
0119     find_package(LibAlkimia5)
0120 
0121 
0122 for application or libraries with Qt4 add the following line to the top level CMakeLists.txt
0123 
0124     find_package(LibAlkimia)
0125 
0126 
0127 On creating targets add the library with
0128 
0129     add_executable(<target> ...)
0130     target_link_libraries(<target>  Alkimia::alkimia)
0131 
0132 
0133 In source code include header file for example with
0134 
0135     #include <alkimia/alkvalue.h>
0136 
0137     ...
0138 
0139 The alkimia library can be created with support for the external perl package "Finance:Quote".
0140 
0141 On Linux hosts this is automatically enabled, on Windows hosts the parameter -DENABLE_FINANCEQUOTE=1 has to be added to the CMake call.
0142 
0143 Packages using alkimia can check and use this support with a CPP condition.
0144 
0145     #ifdef HAVE_ALK_FINANCEQUOTE
0146     #include <alkimia/alkfinancequoteprocess.h>
0147     #endif
0148 
0149     #ifdef HAVE_ALK_FINANCEQUOTE
0150     ...
0151     #endif