added CMake build scripts for libraries + some necessary reorganizations

This commit is contained in:
jkriege2 2019-06-20 15:18:58 +02:00
parent a390030db4
commit 60999478f8
239 changed files with 580 additions and 69 deletions

93
CMakeLists.txt Normal file
View File

@ -0,0 +1,93 @@
cmake_minimum_required(VERSION 3.0)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
project(JKQTPlotter LANGUAGES CXX)
if(NOT DEFINED BUILD_SHARED_LIBS)
option(BUILD_SHARED_LIBS "Build as shared library" ON)
endif()
if(NOT DEFINED BUILD_STATIC_LIBS)
option(BUILD_STATIC_LIBS "Build as static library" ON)
endif()
if(NOT DEFINED BUILD_INCLUDE_XITS_FONTS)
option(BUILD_INCLUDE_XITS_FONTS "Include XITS fonts as resources in library" ON)
endif()
if(NOT DEFINED BUILD_EXAMPLES)
option(BUILD_EXAMPLES "Build examples" ON)
endif()
if(NOT DEFINED LIB_INSTALL)
option(LIB_INSTALL "Install library" ON)
endif()
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
option(CMAKE_INSTALL_PREFIX "Install directory" .)
endif()
include(CheckCXXCompilerFlag)
if (NOT WIN32)
include(GNUInstallDirs)
endif(NOT WIN32)
# Instruct CMake to run moc+rcc automatically when needed.
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
# Set a default build type if none was specified
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Debug' as none was specified")
set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build" FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
if (NOT CMAKE_INSTALL_LIBDIR)
set(CMAKE_INSTALL_LIBDIR "lib")
endif()
if (NOT CMAKE_INSTALL_BINDIR)
set(CMAKE_INSTALL_BINDIR "bin")
endif()
if (NOT CMAKE_INSTALL_INCLUDEDIR)
set(CMAKE_INSTALL_INCLUDEDIR "include")
endif()
find_package(Qt5 5.0 REQUIRED Core Gui Widgets PrintSupport)
set (CMAKE_CXX_STANDARD 11)
if(MSVC)
if(BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
add_compile_options(/EHsc)
add_definitions(/D_USE_MATH_DEFINES /D_CRT_NO_VA_START_VALIDATION /DNOMINMAX)
else()
add_compile_options(-fexceptions)
endif()
if(BUILD_INCLUDE_XITS_FONTS)
add_definitions(-DAUTOLOAD_XITS_FONTS -DUSE_XITS_FONTS )
else()
add_definitions(-DNO_XITS_FONTS )
endif()
add_subdirectory(lib)
if(BUILD_EXAMPLES)
#add_subdirectory(examples)
endif()

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -17,7 +17,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -16,8 +16,8 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplottergui/jkqtpcomboboxes.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpcomboboxes.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -6,7 +6,7 @@
#include "jkqtplotter/jkqtpgraphsscatter.h"
#include "jkqtplotter/jkqtpgraphsboxplot.h"
#include "jkqtplotter/jkqtpgraphsfilledcurve.h"
#include "jkqtplottergui/jkqtpcomboboxes.h"
#include "jkqtplotter/gui/jkqtpcomboboxes.h"

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -3,7 +3,7 @@
#include <QDate>
#include <QDateTime>
#include <QApplication>
#include "jkqtplottergui/jkqtpcomboboxes.h"
#include "jkqtplotter/gui/jkqtpcomboboxes.h"
#include "jkqtplotter/jkqtpgraphsimageoverlays.h"
#include "jkqtplotter/jkqtpgraphsimagergb.h"

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"

View File

@ -16,7 +16,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

View File

@ -17,7 +17,7 @@
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtplotter/jkqtpgraphsparsedfunction.h"
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtptools.h"
#define N1 200

30
lib/CMakeLists.txt Normal file
View File

@ -0,0 +1,30 @@
cmake_minimum_required(VERSION 3.0)
message( STATUS )
message( STATUS "=============================================================================" )
message( STATUS "== JKQTPlotterLib Build Information ==" )
message( STATUS "=============================================================================" )
message( STATUS "Version: ${PROJECT_VERSION}")
if (CMAKE_BUILD_TYPE)
message( STATUS "Build type: ${CMAKE_BUILD_TYPE}")
endif(CMAKE_BUILD_TYPE)
message( STATUS "Using compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}" )
message( STATUS "Using Qt: ${Qt5_VERSION}" )
message( STATUS " [at ${Qt5_DIR}]" )
if(BUILD_INCLUDE_XITS_FONTS)
message( STATUS "Using XITS fonts" )
endif(BUILD_INCLUDE_XITS_FONTS)
message( STATUS "Installing to: ${CMAKE_INSTALL_PREFIX}" )
message( STATUS "=============================================================================" )
message( STATUS )
include_directories(.)
add_subdirectory(jkqtcommon)
add_subdirectory(jkqtmathtext)
add_subdirectory(jkqtfastplotter)
add_subdirectory(jkqtplotter)

View File

@ -1,16 +1,110 @@
cmake_minimum_required(VERSION 3.1)
# common definitions
include(../../common_include.cmake)
cmake_minimum_required(VERSION 3.0)
set(SOURCE
${SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/jkqtptools.cpp
PARENT_SCOPE
set(libBasename JKQTCommon)
message( STATUS )
message( STATUS "-----------------------------------------------------------------------------" )
if(BUILD_SHARED_LIBS)
set(libsh_name ${libBasename}SharedLib)
set(${libsh_name}_LIBRARY ${libsh_name} PARENT_SCOPE)
message( STATUS "-- Building ${libsh_name}" )
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
set(lib_name ${libBasename}Lib)
set(${lib_name}_LIBRARY ${lib_name} PARENT_SCOPE)
message( STATUS "-- Building ${lib_name}" )
endif(BUILD_STATIC_LIBS)
# Set up source files
set(SRCS
jkqtpdebuggingtools.cpp
jkqtpmathtools.cpp
jkqtpalgorithms.cpp
jkqtpstringtools.cpp
jkqtplinalgtools.cpp
jkqtpcodestructuring.cpp
jkqtpbasicimagetools.cpp
jkqtpdrawingtools.cpp
jkqtpenhancedpainter.cpp
jkqtphighrestimer.cpp
jkqtpmathparser.cpp
jkqttools.cpp
jkqtparraytools.cpp
jkqtpstatbasics.cpp
jkqtpstathistogram.cpp
jkqtpstatkde.cpp
jkqtpstatregression.cpp
jkqtpstatpoly.cpp
jkqtpstatgrouped.cpp
)
set(HEADERS
${HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/jkqtptools.h
${CMAKE_CURRENT_SOURCE_DIR}/jkqtp_imexport.h
PARENT_SCOPE
jkqtp_imexport.h
jkqtpdebuggingtools.h
jkqtpmathtools.h
jkqtpalgorithms.h
jkqtpstringtools.h
jkqtplinalgtools.h
jkqtpcodestructuring.h
jkqtpbasicimagetools.h
jkqtpdrawingtools.h
jkqtpenhancedpainter.h
jkqtphighrestimer.h
jkqtpmathparser.h
jkqttools.h
jkqtparraytools.h
jkqtpstatisticstools.h
jkqtpstatbasics.h
jkqtpstathistogram.h
jkqtpstatkde.h
jkqtpstatregression.h
jkqtpstatpoly.h
jkqtpstatgrouped.h
)
if(BUILD_SHARED_LIBS)
add_library(${libsh_name} SHARED ${SRCS} ${HEADERS})
set_property(TARGET ${libsh_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${libsh_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_IN_DLL)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_EXPORT_LIBRARY)
endif()
if(BUILD_STATIC_LIBS)
add_library(${lib_name} STATIC ${SRCS} ${HEADERS})
set_property(TARGET ${lib_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${lib_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport)
endif()
# Installation
if(LIB_INSTALL)
if(BUILD_SHARED_LIBS)
install(TARGETS ${libsh_name} EXPORT ${libsh_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtcommon
)
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
install(TARGETS ${lib_name} EXPORT ${lib_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtcommon
)
endif(BUILD_STATIC_LIBS)
install(FILES ${HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtcommon
COMPONENT Headers)
endif(LIB_INSTALL)

View File

@ -133,13 +133,13 @@ enum JKQTPMathImageColorPalette {
\ingroup jkqtplotter_imagelots_tools
\see String2JKQTPMathImageColorPalette()
*/
QString JKQTPMathImageColorPalette2String(JKQTPMathImageColorPalette p);
JKQTP_LIB_EXPORT QString JKQTPMathImageColorPalette2String(JKQTPMathImageColorPalette p);
/*! \brief convert the palette name \a p to JKQTPMathImageColorPalette (compatible with String2JKQTPMathImageColorPalette() )
\ingroup jkqtplotter_imagelots_tools
\see JKQTPMathImageColorPalette2String()
*/
JKQTPMathImageColorPalette String2JKQTPMathImageColorPalette(const QString& p);
JKQTP_LIB_EXPORT JKQTPMathImageColorPalette String2JKQTPMathImageColorPalette(const QString& p);

View File

@ -44,7 +44,7 @@ class JKQTPEnhancedPainter; // forward
/*! \brief tool class with static values used by JKQTPlotter/JKQTBasePlotter
\ingroup jkqtptools_drawing
*/
JKQTP_LIB_EXPORT struct JKQTPlotterDrawingTools {
struct JKQTP_LIB_EXPORT JKQTPlotterDrawingTools {
/** \brief smallest linewidth any line in JKQTPlotter/JKQTBasePlotter may have
*/
static const double ABS_MIN_LINEWIDTH;

View File

@ -23,6 +23,8 @@
#include <cstdlib>
#include <iostream>
#include "jkqtp_imexport.h"
#ifndef __WINDOWS__
# if defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)
# define __WINDOWS__
@ -125,7 +127,7 @@
* \test you can find an example application in the file \link test_hrestimer.cpp \endlink.
*
*/
class JKQTPHighResTimer {
class JKQTP_LIB_EXPORT JKQTPHighResTimer {
protected:
#ifdef __WINDOWS__
/** \brief internal: time stamp of the last call of start() */

View File

@ -47,7 +47,7 @@
#include <ctype.h>
#include <list>
#include <utility>
#include "jkqtp_imexport.h"
#ifndef JKQTPMATHPARSER_H
#define JKQTPMATHPARSER_H
@ -235,7 +235,7 @@
}
\endcode
*/
class JKQTPMathParser
class JKQTP_LIB_EXPORT JKQTPMathParser
{
protected:
void* data;

View File

@ -360,7 +360,7 @@ inline double jkqtp_polyEval(double x, PolyItP firstP, PolyItP lastP) {
/*! \brief a C++-functor, which evaluates a polynomial
\ingroup jkqtptools_math_basic
*/
struct JKQTPPolynomialFunctor {
struct JKQTP_LIB_EXPORT JKQTPPolynomialFunctor {
std::vector<double> P;
template <class PolyItP>
inline JKQTPPolynomialFunctor(PolyItP firstP, PolyItP lastP) {

View File

@ -60,13 +60,13 @@ typedef std::function<double(double)> JKQTPStatGroupDefinitionFunctor1D;
\see JKQTPStatGroupDefinitionFunctor1D
*/
double jkqtpstatGroupingIdentity1D(double v);
JKQTP_LIB_EXPORT double jkqtpstatGroupingIdentity1D(double v);
/*! \brief use a rounded column value as group ID directly \f$ f(x)=\mbox{round}(x) \f$
\ingroup jkqtptools_math_statistics_grouped
\see JKQTPStatGroupDefinitionFunctor1D
*/
double jkqtpstatGroupingRound1D(double v);
JKQTP_LIB_EXPORT double jkqtpstatGroupingRound1D(double v);
/*! \brief assign each value to groups \f$ \mbox{firstGroupCenter} \f$ , \f$ \mbox{firstGroupCenter}\pm\mbox{groupWidth}/2\f$ , \f$ \mbox{firstGroupCenter}\pm2\cdot\mbox{groupWidth}/2 \f$ , \f$ \mbox{firstGroupCenter}\pm3\cdot\mbox{groupWidth}/2 \f$ , ...
\ingroup jkqtptools_math_statistics_grouped
@ -74,7 +74,7 @@ double jkqtpstatGroupingRound1D(double v);
\see JKQTPStatGroupDefinitionFunctor1D, jkqtpstatMakeGroupingCustomRound1D() for a factory-function that returns a functor of this function bound to specific arguments.
*/
double jkqtpstatGroupingCustomRound1D(double v, double firstGroupCenter, double groupWidth);
JKQTP_LIB_EXPORT double jkqtpstatGroupingCustomRound1D(double v, double firstGroupCenter, double groupWidth);
/*! \brief generates a functor of jkqtpstatGroupingCustomRound1D() with the two paramaters \a firstGroupCenter and \a groupWidth fixed to the given values
\ingroup jkqtptools_math_statistics_grouped
@ -82,7 +82,7 @@ double jkqtpstatGroupingCustomRound1D(double v, double firstGroupCenter, double
\see JKQTPStatGroupDefinitionFunctor1D, jkqtpstatGroupingCustomRound1D()
*/
JKQTPStatGroupDefinitionFunctor1D jkqtpstatMakeGroupingCustomRound1D(double firstGroupCenter, double groupWidth);
JKQTP_LIB_EXPORT JKQTPStatGroupDefinitionFunctor1D jkqtpstatMakeGroupingCustomRound1D(double firstGroupCenter, double groupWidth);

View File

@ -0,0 +1,74 @@
cmake_minimum_required(VERSION 3.0)
set(libBasename JKQTFastPlotter)
message( STATUS )
message( STATUS "-----------------------------------------------------------------------------" )
if(BUILD_SHARED_LIBS)
set(libsh_name ${libBasename}SharedLib)
set(${libsh_name}_LIBRARY ${libsh_name} PARENT_SCOPE)
message( STATUS "-- Building ${libsh_name}" )
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
set(lib_name ${libBasename}Lib)
set(${lib_name}_LIBRARY ${lib_name} PARENT_SCOPE)
message( STATUS "-- Building ${lib_name}" )
endif(BUILD_STATIC_LIBS)
find_package(Qt5 COMPONENTS Core Gui OpenGL Script Widgets PrintSupport)
# Set up source files
set(SRCS
jkqtfastplotter.cpp
)
set(HEADERS
jkqtfastplotter.h
)
if(BUILD_SHARED_LIBS)
add_library(${libsh_name} SHARED ${SRCS} ${HEADERS} ${RESOURCES})
set_property(TARGET ${libsh_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${libsh_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::OpenGL JKQTCommonSharedLib)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_IN_DLL)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_EXPORT_LIBRARY)
endif()
if(BUILD_STATIC_LIBS)
add_library(${lib_name} STATIC ${SRCS} ${HEADERS} ${RESOURCES})
set_property(TARGET ${lib_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${lib_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::OpenGL JKQTCommonLib)
endif()
# Installation
if(LIB_INSTALL)
if(BUILD_SHARED_LIBS)
install(TARGETS ${libsh_name} EXPORT ${libsh_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtfastplotter
)
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
install(TARGETS ${lib_name} EXPORT ${lib_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtfastplotter
)
endif(BUILD_STATIC_LIBS)
install(FILES ${HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtfastplotter
COMPONENT Headers)
endif(LIB_INSTALL)

View File

@ -9,7 +9,7 @@ isEmpty(JKQTP_MATHTEXT_PRI_INCLUDED) {
SOURCES += $$PWD/jkqtmathtext/jkqtmathtext.cpp
include($$PWD/jkqtplotterressources/math_fonts/xits.pri)
include($$PWD/jkqtmathtext/resources/xits.pri)
DEFINES += AUTOLOAD_XITS_FONTS
DEFINES += USE_XITS_FONTS

View File

@ -1,15 +1,78 @@
cmake_minimum_required(VERSION 3.1)
# common definitions
include(../../common_include.cmake)
cmake_minimum_required(VERSION 3.0)
set(SOURCE
${SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/jkqtmathtext.cpp
PARENT_SCOPE
set(libBasename JKQTMathText)
message( STATUS )
message( STATUS "-----------------------------------------------------------------------------" )
if(BUILD_SHARED_LIBS)
set(libsh_name ${libBasename}SharedLib)
set(${libsh_name}_LIBRARY ${libsh_name} PARENT_SCOPE)
message( STATUS "-- Building ${libsh_name}" )
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
set(lib_name ${libBasename}Lib)
set(${lib_name}_LIBRARY ${lib_name} PARENT_SCOPE)
message( STATUS "-- Building ${lib_name}" )
endif(BUILD_STATIC_LIBS)
# Set up source files
set(SRCS
jkqtmathtext.cpp
)
set(HEADERS
${HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/jkqtmathtext.h
PARENT_SCOPE
jkqtmathtext.h
)
if(BUILD_INCLUDE_XITS_FONTS)
set(RESOURCES
resources/xits.qrc
)
endif(BUILD_INCLUDE_XITS_FONTS)
if(BUILD_SHARED_LIBS)
add_library(${libsh_name} SHARED ${SRCS} ${HEADERS} ${RESOURCES})
set_property(TARGET ${libsh_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${libsh_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport JKQTCommonSharedLib)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_IN_DLL)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_EXPORT_LIBRARY)
endif()
if(BUILD_STATIC_LIBS)
add_library(${lib_name} STATIC ${SRCS} ${HEADERS} ${RESOURCES})
set_property(TARGET ${lib_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${lib_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport JKQTCommonLib)
endif()
# Installation
if(LIB_INSTALL)
if(BUILD_SHARED_LIBS)
install(TARGETS ${libsh_name} EXPORT ${libsh_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtmathtext
)
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
install(TARGETS ${lib_name} EXPORT ${lib_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtmathtext
)
endif(BUILD_STATIC_LIBS)
install(FILES ${HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}jkqtmathtext
COMPONENT Headers)
endif(LIB_INSTALL)

View File

@ -44,11 +44,11 @@ isEmpty(JKQTP_PLOTTER_PRI_INCLUDED) {
$$PWD/jkqtplotter/jkqtpbaseplotterstyle.h \
$$PWD/jkqtplotter/jkqtpcoordinateaxes.h \
$$PWD/jkqtplotter/jkqtpcoordinateaxesstyle.h \
$$PWD/jkqtplottergui/jkqtpcomboboxes.h \
$$PWD/jkqtplottergui/jkqtpenhancedspinboxes.h \
$$PWD/jkqtplottergui/jkqtpenhancedtableview.h \
$$PWD/jkqtplottergui/jkqtpgraphsmodel.h \
$$PWD/jkqtplottergui/jkvanishqtoolbar.h \
$$PWD/jkqtplotter/gui/jkqtpcomboboxes.h \
$$PWD/jkqtplotter/gui/jkqtpenhancedspinboxes.h \
$$PWD/jkqtplotter/gui/jkqtpenhancedtableview.h \
$$PWD/jkqtplotter/gui/jkqtpgraphsmodel.h \
$$PWD/jkqtplotter/gui/jkvanishqtoolbar.h \
$$PWD/jkqtplotter/jkqtpimagetools.h
@ -88,16 +88,16 @@ isEmpty(JKQTP_PLOTTER_PRI_INCLUDED) {
$$PWD/jkqtplotter/jkqtpbaseplotterstyle.cpp \
$$PWD/jkqtplotter/jkqtpcoordinateaxes.cpp \
$$PWD/jkqtplotter/jkqtpcoordinateaxesstyle.cpp \
$$PWD/jkqtplottergui/jkqtpcomboboxes.cpp \
$$PWD/jkqtplottergui/jkqtpenhancedspinboxes.cpp \
$$PWD/jkqtplottergui/jkqtpenhancedtableview.cpp \
$$PWD/jkqtplottergui/jkqtpgraphsmodel.cpp \
$$PWD/jkqtplottergui/jkvanishqtoolbar.cpp \
$$PWD/jkqtplotter/gui/jkqtpcomboboxes.cpp \
$$PWD/jkqtplotter/gui/jkqtpenhancedspinboxes.cpp \
$$PWD/jkqtplotter/gui/jkqtpenhancedtableview.cpp \
$$PWD/jkqtplotter/gui/jkqtpgraphsmodel.cpp \
$$PWD/jkqtplotter/gui/jkvanishqtoolbar.cpp \
$$PWD/jkqtplotter/jkqtpimagetools.cpp
RESOURCES += $$PWD/jkqtplotterressources/jkqtpbaseplotter.qrc \
$$PWD/jkqtplotterressources/jkqtpstyles.qrc
RESOURCES += $$PWD/jkqtplotter/resources/jkqtpbaseplotter.qrc \
$$PWD/jkqtplotter/resources/jkqtpstyles.qrc
QT += xml svg opengl

View File

@ -0,0 +1,155 @@
cmake_minimum_required(VERSION 3.0)
set(libBasename JKQTPlotter)
message( STATUS )
message( STATUS "-----------------------------------------------------------------------------" )
if(BUILD_SHARED_LIBS)
set(libsh_name ${libBasename}SharedLib)
set(${libsh_name}_LIBRARY ${libsh_name} PARENT_SCOPE)
message( STATUS "-- Building ${libsh_name}" )
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
set(lib_name ${libBasename}Lib)
set(${lib_name}_LIBRARY ${lib_name} PARENT_SCOPE)
message( STATUS "-- Building ${lib_name}" )
endif(BUILD_STATIC_LIBS)
find_package(Qt5 5.0 REQUIRED Core Gui Widgets PrintSupport Svg Xml)
# Set up source files
set(SRCS
jkqtptools.cpp
jkqtpbaseelements.cpp
jkqtpbaseplotter.cpp
jkqtpdatastorage.cpp
jkqtpelementsoverlay.cpp
jkqtpgraphsscatter.cpp
jkqtpgraphsrange.cpp
jkqtpgraphsspecialline.cpp
jkqtpgraphsbarchart.cpp
jkqtpgraphsbase.cpp
jkqtpgraphsbaseerrors.cpp
jkqtpgraphsbasestylingmixins.cpp
jkqtpgraphsboxplot.cpp
jkqtpgraphsboxplotstylingmixins.cpp
jkqtpgraphsevaluatedfunction.cpp
jkqtpgraphsfilledcurve.cpp
jkqtpgraphsgeometric.cpp
jkqtpgraphsimage.cpp
jkqtpgraphsimpulses.cpp
jkqtpgraphsparsedfunction.cpp
jkqtpgraphspeakstream.cpp
jkqtpgraphssinglecolumnsymbols.cpp
jkqtpgraphsimageoverlays.cpp
jkqtpgraphscontour.cpp
jkqtpgraphsimagergb.cpp
jkqtpgraphsviolinplot.cpp
jkqtpgraphsviolinplotstylingmixins.cpp
jkqtpgraphsstatisticsadaptors.cpp
jkqtplotter.cpp
jkqtplotterstyle.cpp
jkqtpkeystyle.cpp
jkqtpbaseplotterstyle.cpp
jkqtpcoordinateaxes.cpp
jkqtpcoordinateaxesstyle.cpp
gui/jkqtpcomboboxes.cpp
gui/jkqtpenhancedspinboxes.cpp
gui/jkqtpenhancedtableview.cpp
gui/jkqtpgraphsmodel.cpp
gui/jkvanishqtoolbar.cpp
jkqtpimagetools.cpp
)
set(HEADERS
jkqtptools.h
jkqtpbaseelements.h
jkqtpbaseplotter.h
jkqtpdatastorage.h
jkqtpelementsoverlay.h
jkqtpgraphsscatter.h
jkqtpgraphsrange.h
jkqtpgraphsspecialline.h
jkqtpgraphsbarchart.h
jkqtpgraphsbase.h
jkqtpgraphsbaseerrors.h
jkqtpgraphsbasestylingmixins.h
jkqtpgraphsboxplot.h
jkqtpgraphsboxplotstylingmixins.h
jkqtpgraphsevaluatedfunction.h
jkqtpgraphsfilledcurve.h
jkqtpgraphsgeometric.h
jkqtpgraphsimage.h
jkqtpgraphsimpulses.h
jkqtpgraphsparsedfunction.h
jkqtpgraphspeakstream.h
jkqtpgraphssinglecolumnsymbols.h
jkqtpgraphsimageoverlays.h
jkqtpgraphscontour.h
jkqtpgraphsimagergb.h
jkqtpgraphsviolinplot.h
jkqtpgraphsviolinplotstylingmixins.h
jkqtpgraphsstatisticsadaptors.h
jkqtplotter.h
jkqtplotterstyle.h
jkqtpkeystyle.h
jkqtpbaseplotterstyle.h
jkqtpcoordinateaxes.h
jkqtpcoordinateaxesstyle.h
gui/jkqtpcomboboxes.h
gui/jkqtpenhancedspinboxes.h
gui/jkqtpenhancedtableview.h
gui/jkqtpgraphsmodel.h
gui/jkvanishqtoolbar.h
jkqtpimagetools.h
)
set(RESOURCES
resources/jkqtpbaseplotter.qrc
resources/jkqtpstyles.qrc
)
if(BUILD_SHARED_LIBS)
add_library(${libsh_name} SHARED ${SRCS} ${HEADERS} ${RESOURCES})
set_property(TARGET ${libsh_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${libsh_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::Svg Qt5::Xml JKQTCommonSharedLib JKQTMathTextSharedLib)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_IN_DLL)
target_compile_definitions(${libsh_name} PRIVATE JKQTP_LIB_EXPORT_LIBRARY)
endif()
if(BUILD_STATIC_LIBS)
add_library(${lib_name} STATIC ${SRCS} ${HEADERS} ${RESOURCES})
set_property(TARGET ${lib_name} PROPERTY VERSION "${PROJECT_VERSION}")
target_link_libraries(${lib_name} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::Svg Qt5::Xml JKQTCommonLib JKQTMathTextLib)
endif()
# Installation
if(LIB_INSTALL)
if(BUILD_SHARED_LIBS)
install(TARGETS ${libsh_name} EXPORT ${libsh_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jkqtplotter
)
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
install(TARGETS ${lib_name} EXPORT ${lib_name}_TARGETS
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jkqtplotter
)
endif(BUILD_STATIC_LIBS)
install(FILES ${HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jkqtplotter
COMPONENT Headers)
endif(LIB_INSTALL)

View File

@ -19,7 +19,7 @@
#include "jkqtplottergui/jkqtpcomboboxes.h"
#include "jkqtplotter/gui/jkqtpcomboboxes.h"
#include "jkqtplotter/jkqtpbaseplotter.h"
#include "jkqtplotter/jkqtptools.h"
#include <QImage>

View File

@ -21,7 +21,7 @@ Copyright (c) 2008-2019 Jan W. Krieger (<jan@jkrieger.de>)
#include "jkqtplottergui/jkqtpenhancedspinboxes.h"
#include "jkqtplotter/gui/jkqtpenhancedspinboxes.h"

View File

@ -22,7 +22,7 @@ Copyright (c) 2008-2019 Jan W. Krieger (<jan@jkrieger.de>)
#include "jkqtplottergui/jkqtpenhancedtableview.h"
#include "jkqtplotter/gui/jkqtpenhancedtableview.h"
#include <QAction>
#include <QApplication>
#include <QKeyEvent>

View File

@ -19,7 +19,7 @@
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/jkqtpbaseplotter.h"
#include "jkqtplotter/jkqtptools.h"
#include "jkqtplotter/jkqtpgraphsscatter.h"

View File

@ -19,7 +19,7 @@
#include "jkqtplottergui/jkvanishqtoolbar.h"
#include "jkqtplotter/gui/jkvanishqtoolbar.h"
JKVanishQToolBar::JKVanishQToolBar(const QString &title, QWidget *parent): QToolBar(title, parent) {
toolbarVanishes=true;

View File

@ -31,8 +31,8 @@
#include <QPrintPreviewWidget>
#include <QDialog>
#include "jkqtplotter/jkqtpbaseplotter.h"
#include "jkqtplottergui/jkqtpgraphsmodel.h"
#include "jkqtplottergui/jkqtpenhancedtableview.h"
#include "jkqtplotter/gui/jkqtpgraphsmodel.h"
#include "jkqtplotter/gui/jkqtpenhancedtableview.h"
#include <QPrinter>
#include <QPrinterInfo>
#include <QPrintDialog>

View File

@ -24,7 +24,7 @@
#include "jkqtplotter/jkqtpbaseelements.h"
#include "jkqtplotter/jkqtpelementsoverlay.h"
#include "jkqtcommon/jkqtpenhancedpainter.h"
#include "jkqtplottergui/jkqtpenhancedspinboxes.h"
#include "jkqtplotter/gui/jkqtpenhancedspinboxes.h"
#include <QObject>
#include <QAction>

View File

@ -43,7 +43,7 @@
#include "jkqtplotter/jkqtpbaseplotterstyle.h"
#include "jkqtplotter/jkqtptools.h"
#include "jkqtcommon/jkqtp_imexport.h"
#include "jkqtplottergui/jkvanishqtoolbar.h"
#include "jkqtplotter/gui/jkvanishqtoolbar.h"
#include <QKeyEvent>
#ifndef JKQTPLOTTER_H

View File

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 649 B

View File

Before

Width:  |  Height:  |  Size: 720 B

After

Width:  |  Height:  |  Size: 720 B

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 185 B

View File

Before

Width:  |  Height:  |  Size: 204 B

After

Width:  |  Height:  |  Size: 204 B

View File

Before

Width:  |  Height:  |  Size: 176 B

After

Width:  |  Height:  |  Size: 176 B

Some files were not shown because too many files have changed in this diff Show More