This commit is contained in:
jkriege2 2022-07-18 23:33:37 +02:00
commit ea6db847d8
3 changed files with 73 additions and 9 deletions

View File

@ -29,11 +29,11 @@ This software is licensed under the term of the [GNU Lesser General Public Licen
![EXAMPLES-Page](./screenshots/examplesbanner.png) ![EXAMPLES-Page](./screenshots/examplesbanner.png)
## Main Features ## Main Features
- 2D Plotter widget class (JKQTPlotter) - 2D Plotter widget class ([JKQTPlotter](http://jkriege2.github.io/JKQtPlotter/group__jkqtplotter.html)
- high-quality plotting - high-quality plotting
- no other dependencies than Qt >= 5.0 ([CImg](https://cimg.eu/) and [OpenCV](https://opencv.org/) are optional dependencies) - no other dependencies than Qt >= 5.0 ([CImg](https://cimg.eu/) and [OpenCV](https://opencv.org/) are optional dependencies)
- highly customizable axes/grids (linear/log, date/time, custom ticks ...) - highly customizable axes/grids (linear/log, date/time, custom ticks ...)
- integrated LaTeX parser (pure C++, no dependencies) to render mathematical equations in axis labels, ticks, ... - [JKQTMathText:](http://jkriege2.github.io/JKQtPlotter/group__jkqtmathtext.html) integrated LaTeX parser (pure C++, no dependencies) to render mathematical equations in axis labels, ticks, ...
- extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...) - extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...)
- full print and export (PDF,PNG,...) support with preview and parametrization out-the-box - full print and export (PDF,PNG,...) support with preview and parametrization out-the-box
- highly customizable look and feel - highly customizable look and feel
@ -69,6 +69,10 @@ This software is licensed under the term of the [GNU Lesser General Public Licen
A Documentation (auto-)generated with [doxygen](http://www.doxygen.nl/) from the trunk source code can be found here: A Documentation (auto-)generated with [doxygen](http://www.doxygen.nl/) from the trunk source code can be found here:
**[http://jkriege2.github.io/JKQTPlotter/index.html](http://jkriege2.github.io/JKQtPlotter/index.html)** **[http://jkriege2.github.io/JKQTPlotter/index.html](http://jkriege2.github.io/JKQtPlotter/index.html)**
There are also some subpage of general intetest:
- [TODO List](http://jkriege2.github.io/JKQtPlotter/page_todo.html)
- [Release Notes & Version Overview](http://jkriege2.github.io/JKQtPlotter/page_whatsnew.html)
## [Examples](./examples/) ## [Examples](./examples/)
There is a [large set of usage examples (with explanations for each) and tutorials](./examples/) in the folder [`./examples/`](./examples). There is a [large set of usage examples (with explanations for each) and tutorials](./examples/) in the folder [`./examples/`](./examples).
All test-projects are Qt-projects that use qmake to build. You can load them into QtCreator easily. All test-projects are Qt-projects that use qmake to build. You can load them into QtCreator easily.

View File

@ -58,11 +58,17 @@ environment:
COMPILER: GCC COMPILER: GCC
QTVER: 6.2 QTVER: 6.2
CMAKE_GENERATOR: "Unix Makefiles" CMAKE_GENERATOR: "Unix Makefiles"
- QTABI: macos
COMPILER: CLANG
QTVER: 6.2
CMAKE_GENERATOR: "Unix Makefiles"
image: image:
# AppVeyor builds are ordered by the image list: # AppVeyor builds are ordered by the image list:
- Visual Studio 2019 - macos-monterey
- Ubuntu2004 - Ubuntu2004
- Visual Studio 2019
matrix: matrix:
exclude: exclude:
@ -73,6 +79,8 @@ matrix:
QTABI: mingw53_32 QTABI: mingw53_32
- image: Visual Studio 2019 - image: Visual Studio 2019
QTABI: msvc2015 QTABI: msvc2015
- image: Visual Studio 2019
QTABI: macos
- image: Ubuntu2004 - image: Ubuntu2004
QTABI: mingw81_64 QTABI: mingw81_64
- image: Ubuntu2004 - image: Ubuntu2004
@ -83,6 +91,20 @@ matrix:
QTABI: msvc2015 QTABI: msvc2015
- image: Ubuntu2004 - image: Ubuntu2004
QTABI: mingw53_32 QTABI: mingw53_32
- image: Ubuntu2004
QTABI: macos
- image: macos-monterey
QTABI: msvc2015_64
- image: macos-monterey
QTABI: msvc2015
- image: macos-monterey
QTABI: mingw53_32
- image: macos-monterey
QTABI: gcc_64
- image: macos-monterey
QTABI: mingw81_64
- image: macos-monterey
QTABI: msvc2019_64
for: for:
@ -145,13 +167,12 @@ for:
# Linux (Ubuntu2004) # Linux (Ubuntu2004)
- -
matrix: matrix:
only: only:
- image: Ubuntu2004 - image: Ubuntu2004
init: init:
- sh: echo == INIT SYSTEM ENVIRONMENT ====================================================================== - sh: echo == INIT SYSTEM ENVIRONMENT ======================================================================
- sh: echo _NPROCESSORS_ONLN=$(getconf _NPROCESSORS_ONLN) - sh: echo _NPROCESSORS_ONLN=$(getconf _NPROCESSORS_ONLN)
@ -170,10 +191,6 @@ for:
- sh: echo QTDIR=$QTDIR - sh: echo QTDIR=$QTDIR
- sh: echo QT_DIR=$QT_DIR - sh: echo QT_DIR=$QT_DIR
- sh: echo Qt5_DIR=$Qt5_DIR - sh: echo Qt5_DIR=$Qt5_DIR
- sh: ls /home/appveyor
- sh: ls /home/appveyor/Qt
- sh: ls /home/appveyor/Qt/5.15
- sh: ls /home/appveyor/Qt/5.15/gcc_64
- sh: echo PATH=$PATH - sh: echo PATH=$PATH
- sh: sudo apt-get update -y - sh: sudo apt-get update -y
# Install OpenCV # Install OpenCV
@ -193,3 +210,45 @@ for:
- sh: cmake -G "$CMAKE_GENERATOR" "-DCMAKE_PREFIX_PATH=$QTDIR" .. - sh: cmake -G "$CMAKE_GENERATOR" "-DCMAKE_PREFIX_PATH=$QTDIR" ..
- sh: echo --- Build using CMake ------------------------------------------------------------------------------- - sh: echo --- Build using CMake -------------------------------------------------------------------------------
- sh: cmake --build . --config "$CONFIGURATION" -- $CMAKE_BUILDFLAGS - sh: cmake --build . --config "$CONFIGURATION" -- $CMAKE_BUILDFLAGS
# MacOS (Monterey)
-
matrix:
only:
- image: macos-monterey
init:
- sh: echo == INIT SYSTEM ENVIRONMENT ======================================================================
- sh: echo _NPROCESSORS_ONLN=$(getconf _NPROCESSORS_ONLN)
- sh: echo APPVEYOR_BUILD_WORKER_IMAGE=$APPVEYOR_BUILD_WORKER_IMAGE
- sh: echo QTABI=$QTABI
- sh: echo CMAKE_GENERATOR=$CMAKE_GENERATOR
install:
# Init compiler environment
- sh: echo == INIT COMPILER ENVIRONMENT ====================================================================
- sh: export QTDIR=$HOME/Qt/$QTVER/$QTABI/
- sh: export QT_DIR=$HOME/Qt/$QTVER/$QTABI/
- sh: export Qt5_DIR=$QTDIR/lib/cmake
- sh: echo QTDIR=$QTDIR
- sh: echo QT_DIR=$QT_DIR
- sh: echo Qt5_DIR=$Qt5_DIR
- sh: echo PATH=$PATH
# Install OpenCV
build_script:
- sh: echo == BUILD JKQtPlotter ============================================================================
- sh: mkdir build
- sh: cd build
- sh: echo --- Run CMake Configure -----------------------------------------------------------------------------
- sh: cmake --version
- sh: cmake -G "$CMAKE_GENERATOR" "-DCMAKE_PREFIX_PATH=$QTDIR" ..
- sh: echo --- Build using CMake -------------------------------------------------------------------------------
- sh: cmake --build . --config "$CONFIGURATION" -- $CMAKE_BUILDFLAGS

View File

@ -45,6 +45,7 @@ function(JKQtFastPlotter_setDefaultLibOptions TARGETNAME)
set_property(TARGET ${TARGETNAME} PROPERTY CXX_STANDARD 17) set_property(TARGET ${TARGETNAME} PROPERTY CXX_STANDARD 17)
set_property(TARGET ${TARGETNAME} PROPERTY CXX_STANDARD_REQUIRED TRUE) set_property(TARGET ${TARGETNAME} PROPERTY CXX_STANDARD_REQUIRED TRUE)
target_compile_features(${TARGETNAME} PUBLIC cxx_std_17) target_compile_features(${TARGETNAME} PUBLIC cxx_std_17)
target_link_libraries(${TARGETNAME} PUBLIC Qt${QT_VERSION_MAJOR}::OpenGLWidgets)
endif() endif()
if(MINGW) if(MINGW)
# COMPILER-SETTINGS FOR MINGW # COMPILER-SETTINGS FOR MINGW