- Warning
- The QMake build system is deprecated and will not get the same love and atttention as the recommended CMake system, see Build using CMake !
DEPRECATED: 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:
In your QMake-projects it is then sufficient to add a line like:
include(<PATHTOJKQTPLOTTERDIR>/lib/jkqtplotter.pri)
DEPRECATED: 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:
They will produce a static link library that you can include into your projects, e.g. with the following QMake-snippet:
# include JKQTPlotter library
DEPENDPATH += \
<PATHTOJKQTPLOTTERDIR>/lib \
<PATHTOJKQTPLOTTERDIR>/qmake/staticlib/jkqtplotterlib
INCLUDEPATH += <PATHTOJKQTPLOTTERDIR>/lib
CONFIG (debug, debug|release) {
DEPENDPATH += <PATHTOJKQTPLOTTERDIR>/qmake/staticlib/jkqtplotterlib/debug
LIBS += -L<PATHTOJKQTPLOTTERDIR>/qmake/staticlib/jkqtplotterlib/debug -ljkqtplotterlib_debug
} else {
DEPENDPATH += <PATHTOJKQTPLOTTERDIR>/qmake/staticlib/jkqtplotterlib/release
LIBS += -L<PATHTOJKQTPLOTTERDIR>/qmake/staticlib/jkqtplotterlib/release -ljkqtplotterlib
}
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:
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
DEPRECATED: 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:
They will produce a dynamic link library that you can include into your projects, e.g. with the following QMake-snippet:
# include JKQTPlotter library
DEPENDPATH += \
<PATHTOJKQTPLOTTERDIR>/lib \
<PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib
INCLUDEPATH += <PATHTOJKQTPLOTTERDIR>/lib
DEFINES += JKQTCOMMON_LIB_IN_DLL JKQTFASTPLOTTER_LIB_IN_DLL JKQTMATHTEXT_LIB_IN_DLL JKQTPLOTTER_LIB_IN_DLL
CONFIG (debug, debug|release) {
# ensure that DLLs are copied to the output directory
install_jkqtplotter_dll.files = <PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib/debug/jkqtplotterlib_debug.*
install_jkqtplotter_dll.path = $$OUT_PWD
INSTALLS += install_jkqtplotter_dll
# link agains DLLs
DEPENDPATH += <PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib/debug
LIBS += -L<PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib/debug -ljkqtplotterlib_debug
} else {
# ensure that DLLs are copied to the output directory
install_jkqtplotter_dll.files = <PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib/release/jkqtplotterlib.*
install_jkqtplotter_dll.path = $$OUT_PWD
INSTALLS += install_jkqtplotter_dll
# link agains DLLs
DEPENDPATH += <PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib/release
LIBS += -L<PATHTOJKQTPLOTTERDIR>/qmake/sharedlib/jkqtplotterlib/release -ljkqtplotterlib
}
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:
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
- 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).
DEPRECATED: QMake in QTCreator
You can load the file JKQtPlotterBuildAllExamples.pro
in te base directory of the project directly in QtCreator and use it to build the library and the examples.