/*! \page page_buildinstructions Build Instructions This page explains how to use JKQTPlotter in your own Projects \tableofcontents \section page_buildinstructions_CMAKE Build using CMake The preferred way to build JKQTPlotter is using CMake. The CMake-build is defined in `CMakeLists.txt` files, found in many of the directories of the code repository. You can build JKQTPlotter (and also the examples) by: - Either opening the file CMakeLists.txt in QTCreator (which has CMake integration) - Or by calling something like this from the source directory: \code{.sh} $ mkdir build; cd build $ cmake ../ $ make $ make install \endcode . \section page_buildinstructions_QMAKE Build using QMake \subsection page_buildinstructions_QMAKEINCLUDE QMake Include Project If you want to simply include the JKQTPlotter Source code into your projects, without build a shared or static library and linking against it, you can use one of these QMake-Include files: - lib/jkqtplotter.pri includes the complete library (JKQTPlotter, JKQTFastPlotter, JKQTMathText) - lib/jkqtmathtext.pri includes only JKQTMathText - lib/jkqtfastplotter.pri includes only JKQTFastPlotter . In your QMake-projects it is then sufficient to add a line like: \code{.qmake} include(/lib/jkqtplotter.pri) \endcode \subsection page_buildinstructions_QMAKESTATIC QMake Static Library There are several `.PRO`-files, that can be used to build the full library, or a limited subsets of it as static link library: - qmake/staticlib/jkqtplotterlib/jkqtplotterlib.pro builds the complete library (JKQTPlotter, JKQTFastPlotter, JKQTMathText) as static link library - qmake/staticlib/jkqtmathtextlib/jkqtmathtextlib.pro builds only JKQTMathText as static link library - qmake/staticlib/jkqtfastplotterlib/jkqtfastplotterlib.pro builds only JKQTFastPlotter as static link library . They will produce a static link library that you can include into your projects, e.g. with the following QMake-snippet: \code{.qmake} # include JKQTPlotter library DEPENDPATH += \ /lib \ /qmake/staticlib/jkqtplotterlib INCLUDEPATH += /lib CONFIG (debug, debug|release) { DEPENDPATH += /qmake/staticlib/jkqtplotterlib/debug LIBS += -L/qmake/staticlib/jkqtplotterlib/debug -ljkqtplotterlib_debug } else { DEPENDPATH += /qmake/staticlib/jkqtplotterlib/release LIBS += -L/qmake/staticlib/jkqtplotterlib/release -ljkqtplotterlib } \endcode This snippet assumes that you built the libraries with the provided `.PRO`-files. You can also add a second `.pro`-file to your projects, which integrates both as subdirs. Such files are used for all examples in this project. Here is an example: \code{.qmake} TEMPLATE = subdirs # the (static library version) of JKQTPlotter jkqtplotterlib_static.file = ../../qmake/staticlib/jkqtplotterlib/jkqtplotterlib.pro # your project file, with declared dependencies on jkqtplotterlib_static test_styling.file=$$PWD/test_styling.pro test_styling.depends = jkqtplotterlib_static # add the two entries to SUBDIRS SUBDIRS += jkqtplotterlib_static test_styling \endcode \subsection page_buildinstructions_QMAKEDYNAMIC QMake Dynamic Library There are several `.PRO`-files, that can be used to build the full library, or a limited subsets of it as shred library: - qmake/sharedlib/jkqtplotterlib/jkqtplotterlib.pro builds the complete library (JKQTPlotter, JKQTFastPlotter, JKQTMathText) as shared library - qmake/sharedlib/jkqtmathtextlib/jkqtmathtextlib.pro builds only JKQTMathText as shared library - qmake/sharedlib/jkqtfastplotterlib/jkqtfastplotterlib.pro builds only JKQTFastPlotter as shared library . They will produce a dynamic link library that you can include into your projects, e.g. with the following QMake-snippet: \code{.qmake} # include JKQTPlotter library DEPENDPATH += \ /lib \ /qmake/sharedlib/jkqtplotterlib INCLUDEPATH += /lib CONFIG (debug, debug|release) { # ensure that DLLs are copied to the output directory install_jkqtplotter_dll.files = /qmake/sharedlib/jkqtplotterlib/debug/jkqtplotterlib_debug.* install_jkqtplotter_dll.path = $$OUT_PWD INSTALLS += install_jkqtplotter_dll # link agains DLLs DEPENDPATH += /qmake/sharedlib/jkqtplotterlib/debug LIBS += -L/qmake/sharedlib/jkqtplotterlib/debug -ljkqtplotterlib_debug } else { # ensure that DLLs are copied to the output directory install_jkqtplotter_dll.files = /qmake/sharedlib/jkqtplotterlib/release/jkqtplotterlib.* install_jkqtplotter_dll.path = $$OUT_PWD INSTALLS += install_jkqtplotter_dll # link agains DLLs DEPENDPATH += /qmake/sharedlib/jkqtplotterlib/release LIBS += -L/qmake/sharedlib/jkqtplotterlib/release -ljkqtplotterlib } \endcode This snippet assumes that you built the libraries with the provided `.PRO`-files. You can also add a second `.pro`-file to your projects, which integrates both as subdirs. Such files are used for all examples in this project. Here is an example: \code{.qmake} TEMPLATE = subdirs # the (shared library version) of JKQTPlotter jkqtplotterlib_shared.file = ../../qmake/sharedlib/jkqtplotterlib.pro # your project file, with declared dependencies on jkqtplotterlib_shared test_styling.file=$$PWD/test_styling.pro test_styling.depends = jkqtplotterlib_shared # add the two entries to SUBDIRS SUBDIRS += jkqtplotterlib_shared test_styling \endcode \note You will have to run a deployment step `make install` before running your executable, so the shared libararies are actually copied to the output directory (see `INSTALLS + ...` above). */