##// END OF EJS Templates
Improve theme initialization performance for bar series...
Improve theme initialization performance for bar series The bar series are not updated while the theme is initialized. The update will be done after the theme is ready. This reduces the time spent to initialize the theme from seconds to milliseconds. Task-number: QTRD-2163 Change-Id: Ie111d8b42e017d0a514ca773bc8a714295d1eaa2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>

File last commit:

r2548:b76baa838f46
r2598:764a09c2b2a5
Show More
src.pro
257 lines | 8.8 KiB | text/idl | PrologLexer
!include( ../config.pri ):error( "Couldn't find the config.pri file!" )
############################# BUILD CONFIG ######################################
TARGET = $$LIBRARY_NAME
DESTDIR = $$CHART_BUILD_LIB_DIR
TEMPLATE = lib
QT = core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
DEFINES += QTCOMMERCIALCHART_LIBRARY
win32:CONFIG += create_prl
# treat warnings as errors
win32-msvc*: {
QMAKE_CXXFLAGS += /WX
} else {
# QMAKE_CXXFLAGS += -Werror
}
unix:!qnx {
QMAKE_CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
}
############################# DEPEDENCES ########################################
win32-msvc*: LIBS += User32.lib
LIBS -= -l$$LIBRARY_NAME
INCLUDEPATH += ../include .
############################# SOURCES ##########################################
SOURCES += \
$$PWD/chartdataset.cpp \
$$PWD/chartpresenter.cpp \
$$PWD/chartthememanager.cpp \
$$PWD/qchart.cpp \
$$PWD/qchartview.cpp \
$$PWD/qabstractseries.cpp \
$$PWD/chartbackground.cpp \
$$PWD/chartelement.cpp \
$$PWD/chartitem.cpp \
$$PWD/scroller.cpp \
$$PWD/charttitle.cpp \
$$PWD/qpolarchart.cpp
PRIVATE_HEADERS += \
$$PWD/chartdataset_p.h \
$$PWD/chartitem_p.h \
$$PWD/chartpresenter_p.h \
$$PWD/chartthememanager_p.h \
$$PWD/chartbackground_p.h \
$$PWD/chartelement_p.h \
$$PWD/chartconfig_p.h \
$$PWD/qchart_p.h \
$$PWD/qchartview_p.h \
$$PWD/scroller_p.h \
$$PWD/qabstractseries_p.h \
$$PWD/charttitle_p.h \
$$PWD/charthelpers_p.h
PUBLIC_HEADERS += \
$$PWD/qchart.h \
$$PWD/qchartglobal.h \
$$PWD/qabstractseries.h \
$$PWD/qchartview.h \
$$PWD/chartsnamespace.h \
$$PWD/qpolarchart.h
include(animations/animations.pri)
include(areachart/areachart.pri)
include(axis/axis.pri)
include(domain/domain.pri)
include(barchart/barchart.pri)
include(legend/legend.pri)
include(linechart/linechart.pri)
include(piechart/piechart.pri)
include(scatterchart/scatter.pri)
include(splinechart/splinechart.pri)
include(themes/themes.pri)
include(xychart/xychart.pri)
include(layout/layout.pri)
include(boxplotchart/boxplotchart.pri)
HEADERS += $$PUBLIC_HEADERS
HEADERS += $$PRIVATE_HEADERS
HEADERS += $$THEMES
############################# BUILD PATH ##########################################
OBJECTS_DIR = $$CHART_BUILD_DIR/lib
MOC_DIR = $$CHART_BUILD_DIR/lib
UI_DIR = $$CHART_BUILD_DIR/lib
RCC_DIR = $$CHART_BUILD_DIR/lib
############################# PUBLIC HEADERS GENERATOR ##########################################
!exists($$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal)
{
system($$QMAKE_MKDIR $$CHART_BUILD_PUBLIC_HEADER_DIR)
contains(QMAKE_HOST.os, Windows) {
command = "echo $${LITERAL_HASH}include \"qchartglobal.h\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal"
}else{
command = "echo \"$${LITERAL_HASH}include \\\"qchartglobal.h\\\"\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal"
}
PUBLIC_QT_HEADERS += $$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal
system($$command)
}
for(file, PUBLIC_HEADERS) {
name = $$split(file,'/')
name = $$last(name)
class = "$$cat($$file)"
class = $$find(class,class)
!isEmpty(class){
class = $$split(class,QTCOMMERCIALCHART_EXPORT)
class = $$member(class,1)
class = $$split(class,' ')
class = $$replace(class,' ','')
class = $$member(class,0)
contains(QMAKE_HOST.os, Windows) {
command = "echo $${LITERAL_HASH}include \"$$name\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/$$class"
}else{
command = "echo \"$${LITERAL_HASH}include \\\"$$name\\\"\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/$$class"
}
PUBLIC_QT_HEADERS += $$CHART_BUILD_PUBLIC_HEADER_DIR/$$class
system($$command)
}
}
############################# INSTALLERS ##########################################
public_headers.path = $$[QT_INSTALL_HEADERS]/QtCommercialChart
public_headers.files = $$PUBLIC_HEADERS $$PUBLIC_QT_HEADERS
INSTALLS += public_headers
install_build_public_headers.name = build_public_headers
install_build_public_headers.output = $$CHART_BUILD_PUBLIC_HEADER_DIR/${QMAKE_FILE_BASE}.h
install_build_public_headers.input = PUBLIC_HEADERS
install_build_public_headers.commands = $$QMAKE_COPY \
${QMAKE_FILE_NAME} \
$$CHART_BUILD_PUBLIC_HEADER_DIR
install_build_public_headers.CONFIG += target_predeps \
no_link
install_build_private_headers.name = build_private_headers
install_build_private_headers.output = $$CHART_BUILD_PRIVATE_HEADER_DIR/${QMAKE_FILE_BASE}.h
install_build_private_headers.input = PRIVATE_HEADERS
install_build_private_headers.commands = $$QMAKE_COPY \
${QMAKE_FILE_NAME} \
$$CHART_BUILD_PRIVATE_HEADER_DIR
install_build_private_headers.CONFIG += target_predeps \
no_link
QMAKE_EXTRA_COMPILERS += install_build_public_headers \
install_build_private_headers \
win32:{
bintarget.CONFIG += no_check_exist
!staticlib: {
bintarget.files += $$CHART_BUILD_LIB_DIR\\$${TARGET}.dll
}
win32-msvc*:CONFIG(debug, debug|release): {
bintarget.files += $$CHART_BUILD_LIB_DIR\\$${TARGET}.pdb
}
bintarget.path = $$[QT_INSTALL_BINS]
libtarget.CONFIG += no_check_exist
libtarget.files = $$CHART_BUILD_LIB_DIR\\$${TARGET}.prl
win32-msvc*: {
libtarget.files += $$CHART_BUILD_LIB_DIR\\$${TARGET}.lib
} else {
libtarget.files += $$CHART_BUILD_LIB_DIR\\lib$${TARGET}.a
}
libtarget.path = $$[QT_INSTALL_LIBS]
DLLDESTDIR = $$CHART_BUILD_BIN_DIR
INSTALLS += bintarget libtarget
}else{
target.path=$$[QT_INSTALL_LIBS]
INSTALLS += target
}
mac: !staticlib: {
# Update the name (id) of the library on OSX to point to the lib path
MAC_CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib"
QMAKE_POST_LINK += "install_name_tool -id $$CHART_BUILD_LIB_DIR"/"$$MAC_CHARTS_LIB_NAME $$CHART_BUILD_LIB_DIR"/"$$MAC_CHARTS_LIB_NAME"
# Update the name (id) of the installed library on OSX to point to the installation path
postinstall.path = $$[QT_INSTALL_LIBS]
postinstall.extra = "install_name_tool -id $$[QT_INSTALL_LIBS]"/"$$MAC_CHARTS_LIB_NAME $$[QT_INSTALL_LIBS]"/"$$MAC_CHARTS_LIB_NAME"
INSTALLS += postinstall
}
################################ DEVELOPMENT BUILD ##########################################
# There is a problem with jom.exe currently. It does not seem to understand QMAKE_EXTRA_TARGETS properly.
# This is the case at least with shadow builds.
# http://qt-project.org/wiki/jom
development_build:!win32-msvc*:{
chartversion.target = $$PWD/qchartversion_p.h
unix:{
chartversion.commands = @echo \
\" $${LITERAL_HASH}ifndef QCHARTVERSION_P_H\\n\
$${LITERAL_HASH}define QCHARTVERSION_P_H\\n\
const char *buildTime = \\\"`date +'%y%m%d%H%M'`\\\" ; \\n\
const char *gitHead = \\\"`git rev-parse HEAD`\\\" ; \\n \
$${LITERAL_HASH}endif \" \
> \
$$chartversion.target;
}else{
chartversion.commands = @echo \
"const char *buildTime = \"%date%_%time%\" ; \
const char *gitHead = \"unknown\" ; " \
> \
$$chartversion.target
}
chartversion.depends = $$HEADERS \
$$SOURCES
PRE_TARGETDEPS += $$chartversion.target
QMAKE_CLEAN += $$PWD/qchartversion_p.h
QMAKE_EXTRA_TARGETS += chartversion
}
############################### CLEAN ###########################################
unix:QMAKE_DISTCLEAN += -r \
$$CHART_BUILD_HEADER_DIR \
$$CHART_BUILD_LIB_DIR
win32:QMAKE_DISTCLEAN += /Q \
$$CHART_BUILD_HEADER_DIR \
$$CHART_BUILD_LIB_DIR
############################## COVERAGE #########################################
unix:coverage:{
QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
QMAKE_LDFLAGS += -fprofile-arcs -ftest-coverage
LIBS += -lgcov
QMAKE_CLEAN += $$OBJECTS_DIR/*.gcda $$OBJECTS_DIR/*.gcno $$PWD/*.gcov ../coverage/*.info
QMAKE_EXTRA_TARGETS += preparecoverage gencoverage
preparecoverage.target = prepare_coverage
preparecoverage.depends = all
preparecoverage.commands = lcov --directory $$OBJECTS_DIR --zerocounters ;\
lcov -i -d $$OBJECTS_DIR -c -o ../coverage/base.info -b $$PWD;
gencoverage.target = gen_coverage
gencoverage.depends = all
gencoverage.commands = lcov -d $$OBJECTS_DIR -c -o ../coverage/src.info -b $$PWD;\
lcov -e ../coverage/base.info $$PWD/* $$PWD/animations/* $$PWD/areachart/* $$PWD/axis/* $$PWD/barchart/* $$PWD/legend/* $$PWD/linechart/* $$PWD/piechart/* $$PWD/scatterchart/* $$PWD/splinechart/* $$PWD/themes/* $$PWD/xychart/* -o ../coverage/base.info;\
lcov -e ../coverage/src.info $$PWD/* $$PWD/animations/* $$PWD/areachart/* $$PWD/axis/* $$PWD/barchart/* $$PWD/legend/* $$PWD/linechart/* $$PWD/piechart/* $$PWD/scatterchart/* $$PWD/splinechart/* $$PWD/themes/* $$PWD/xychart/* -o ../coverage/src.info;\
lcov -a ../coverage/base.info -a ../coverage/src.info -o ../coverage/coverage.info;
}