diff --git a/config.pri b/config.pri index 9e5e570..e303b10 100644 --- a/config.pri +++ b/config.pri @@ -83,30 +83,18 @@ development_build: { LIBS += -l$$LIBRARY_NAME mac: { - # This is a hack to make binaries to use the internal version of the QtCommercial Charts library on OSX - CHARTS_LIB_NAME = libQtCommercialChart.1.dylib + # This is a hack; we define variables for easier install_name_tool calls from project files of OSX executables/libraries + # install_name_tool is used to update the dependencies to chart library to match the local build folder + MAC_CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib" CONFIG(debug, debug|release) { - CHARTS_LIB_NAME = libQtCommercialChartd.1.dylib - } - BIN_TARGET_PATH = "" - exists ($$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET) { - BIN_TARGET_PATH = $$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET - } - exists ($$CHART_BUILD_BIN_DIR"/test/"$$TARGET".app/Contents/MacOS/"$$TARGET) { - # Executable in test folder - BIN_TARGET_PATH = $$CHART_BUILD_BIN_DIR"/test/"$$TARGET".app/Contents/MacOS/"$$TARGET - } - exists ($$CHART_BUILD_BIN_DIR"/test/tst_"$$TARGET".app/Contents/MacOS/tst_"$$TARGET) { - # Executable in test folder with custom target "tst_NNN" - BIN_TARGET_PATH = $$CHART_BUILD_BIN_DIR"/test/tst_"$$TARGET".app/Contents/MacOS/tst_"$$TARGET - } - exists($$CHART_BUILD_PLUGIN_DIR"/lib"$$TARGET".dylib") { - # Plugin - BIN_TARGET_PATH = $$CHART_BUILD_PLUGIN_DIR"/lib"$$TARGET".dylib" - } - !isEmpty (BIN_TARGET_PATH) { - QMAKE_POST_LINK += install_name_tool -change $$CHARTS_LIB_NAME $$CHART_BUILD_LIB_DIR"/"$$CHARTS_LIB_NAME $$BIN_TARGET_PATH + MAC_CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib" } + MAC_POST_LINK_PREFIX = install_name_tool -change $$MAC_CHARTS_LIB_NAME $$CHART_BUILD_LIB_DIR"/"$$MAC_CHARTS_LIB_NAME + MAC_DEMOS_BIN_DIR = $$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET + MAC_EXAMPLES_BIN_DIR = $$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET + MAC_TESTS_BIN_DIR = $$CHART_BUILD_BIN_DIR"/test/"$$TARGET".app/Contents/MacOS/"$$TARGET + MAC_AUTOTESTS_BIN_DIR = $$CHART_BUILD_BIN_DIR"/test/tst_"$$TARGET".app/Contents/MacOS/tst_"$$TARGET + MAC_PLUGINS_BIN_DIR = $$CHART_BUILD_PLUGIN_DIR"/lib"$$TARGET".dylib" } } else { diff --git a/demos/chartthemes/chartthemes.pro b/demos/chartthemes/chartthemes.pro index d9a61a7..8905019 100644 --- a/demos/chartthemes/chartthemes.pro +++ b/demos/chartthemes/chartthemes.pro @@ -2,3 +2,11 @@ TARGET = chartthemes SOURCES = main.cpp themewidget.cpp HEADERS = themewidget.h + +# This is a hack to make binaries to use the internal version of the QtCommercial Charts library on OSX +#CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib" +#CONFIG(debug, debug|release) { +# CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib" +#} + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_DEMOS_BIN_DIR" diff --git a/demos/demos.pro b/demos/demos.pro index be83a85..915e2eb 100644 --- a/demos/demos.pro +++ b/demos/demos.pro @@ -1,5 +1,6 @@ +CURRENTLY_BUILDING_COMPONENTS = "demos" !include( ../config.pri ) { - error( "Couldn't find the config.pri file!" ) + error( "Couldn't find the config.pri file!" ) } TEMPLATE = subdirs diff --git a/demos/dynamicspline/dynamicspline.pro b/demos/dynamicspline/dynamicspline.pro index 697a864..0ef9ee3 100644 --- a/demos/dynamicspline/dynamicspline.pro +++ b/demos/dynamicspline/dynamicspline.pro @@ -2,3 +2,5 @@ TARGET = dynamicspline HEADERS += chart.h SOURCES += main.cpp chart.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_DEMOS_BIN_DIR" diff --git a/demos/piechartcustomization/piechartcustomization.pro b/demos/piechartcustomization/piechartcustomization.pro index 8e240a1..d27161e 100644 --- a/demos/piechartcustomization/piechartcustomization.pro +++ b/demos/piechartcustomization/piechartcustomization.pro @@ -14,4 +14,5 @@ HEADERS += \ customslice.h \ mainwidget.h +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_DEMOS_BIN_DIR" diff --git a/demos/qmlchart/qmlchart.pro b/demos/qmlchart/qmlchart.pro index 002222e..9d9eb92 100644 --- a/demos/qmlchart/qmlchart.pro +++ b/demos/qmlchart/qmlchart.pro @@ -7,3 +7,4 @@ SOURCES += main.cpp include(qmlapplicationviewer/qmlapplicationviewer.pri) +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_DEMOS_BIN_DIR" diff --git a/examples/areachart/areachart.pro b/examples/areachart/areachart.pro index 13d1019..3b2b645 100644 --- a/examples/areachart/areachart.pro +++ b/examples/areachart/areachart.pro @@ -4,5 +4,4 @@ TARGET = areachart SOURCES += main.cpp - - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/barchart/barchart.pro b/examples/barchart/barchart.pro index 54e9c0a..fe27548 100644 --- a/examples/barchart/barchart.pro +++ b/examples/barchart/barchart.pro @@ -5,3 +5,4 @@ TARGET = barchart SOURCES += main.cpp +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/customchart/customchart.pro b/examples/customchart/customchart.pro index 43aceaa..25ebca2 100644 --- a/examples/customchart/customchart.pro +++ b/examples/customchart/customchart.pro @@ -5,5 +5,4 @@ TARGET = customchart SOURCES += main.cpp - - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/examples.pro b/examples/examples.pro index 594aa6e..4a1f7d6 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -1,5 +1,6 @@ +CURRENTLY_BUILDING_COMPONENTS = "examples" !include( ../config.pri ) { - error( "Couldn't find the config.pri file!" ) + error( "Couldn't find the config.pri file!" ) } TEMPLATE = subdirs @@ -18,12 +19,4 @@ SUBDIRS += \ stackedbarchart \ stackedbarchartdrilldown \ zoomlinechart \ - modeldata - - - - - - - - + modeldata diff --git a/examples/linechart/linechart.pro b/examples/linechart/linechart.pro index 1247245..63fed0d 100644 --- a/examples/linechart/linechart.pro +++ b/examples/linechart/linechart.pro @@ -4,5 +4,4 @@ TARGET = linechart SOURCES += main.cpp - - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/modeldata/modeldata.pro b/examples/modeldata/modeldata.pro index 711e531..d110707 100644 --- a/examples/modeldata/modeldata.pro +++ b/examples/modeldata/modeldata.pro @@ -1,11 +1,5 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2012-03-08T14:30:24 -# -#------------------------------------------------- - !include( ../examples.pri ) { - error( "Couldn't find the examples.pri file!" ) + error( "Couldn't find the examples.pri file!" ) } QT += core gui @@ -20,3 +14,5 @@ SOURCES += main.cpp\ HEADERS += tablewidget.h \ customtablemodel.h + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/percentbarchart/percentbarchart.pro b/examples/percentbarchart/percentbarchart.pro index dc48fde..3a68244 100644 --- a/examples/percentbarchart/percentbarchart.pro +++ b/examples/percentbarchart/percentbarchart.pro @@ -5,3 +5,4 @@ TARGET = percentbarchart SOURCES += main.cpp +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/piechart/piechart.pro b/examples/piechart/piechart.pro index 71f6093..86becd8 100644 --- a/examples/piechart/piechart.pro +++ b/examples/piechart/piechart.pro @@ -4,4 +4,4 @@ TARGET = piechart SOURCES += main.cpp - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/piechartdrilldown/piechartdrilldown.pro b/examples/piechartdrilldown/piechartdrilldown.pro index 36fbd94..1b39044 100644 --- a/examples/piechartdrilldown/piechartdrilldown.pro +++ b/examples/piechartdrilldown/piechartdrilldown.pro @@ -10,3 +10,4 @@ HEADERS += \ drilldownchart.h \ drilldownslice.h +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/presenterchart/presenterchart.pro b/examples/presenterchart/presenterchart.pro index 1f57047..8e9469f 100644 --- a/examples/presenterchart/presenterchart.pro +++ b/examples/presenterchart/presenterchart.pro @@ -3,4 +3,6 @@ } TARGET = presenterchart HEADERS += chartview.h -SOURCES += main.cpp chartview.cpp \ No newline at end of file +SOURCES += main.cpp chartview.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/scatterchart/scatterchart.pro b/examples/scatterchart/scatterchart.pro index 8170d6f..f9683be 100644 --- a/examples/scatterchart/scatterchart.pro +++ b/examples/scatterchart/scatterchart.pro @@ -7,3 +7,5 @@ SOURCES += main.cpp \ HEADERS += \ chartview.h + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/scatterinteractions/scatterinteractions.pro b/examples/scatterinteractions/scatterinteractions.pro index 596fe02..b8b168d 100644 --- a/examples/scatterinteractions/scatterinteractions.pro +++ b/examples/scatterinteractions/scatterinteractions.pro @@ -7,3 +7,5 @@ SOURCES += main.cpp \ chartview.cpp HEADERS += \ chartview.h + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/splinechart/splinechart.pro b/examples/splinechart/splinechart.pro index 70ff6c3..3ba5fc6 100644 --- a/examples/splinechart/splinechart.pro +++ b/examples/splinechart/splinechart.pro @@ -4,5 +4,4 @@ TARGET = splinechart SOURCES += main.cpp - - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/stackedbarchart/stackedbarchart.pro b/examples/stackedbarchart/stackedbarchart.pro index a41bff4..31d0423 100644 --- a/examples/stackedbarchart/stackedbarchart.pro +++ b/examples/stackedbarchart/stackedbarchart.pro @@ -2,4 +2,6 @@ error( "Couldn't find the examples.pri file!" ) } TARGET = stackedbarchart -SOURCES += main.cpp \ No newline at end of file +SOURCES += main.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/stackedbarchartdrilldown/stackedbarchartdrilldown.pro b/examples/stackedbarchartdrilldown/stackedbarchartdrilldown.pro index 7aea8f7..aed1ecd 100644 --- a/examples/stackedbarchartdrilldown/stackedbarchartdrilldown.pro +++ b/examples/stackedbarchartdrilldown/stackedbarchartdrilldown.pro @@ -5,3 +5,4 @@ TARGET = stackedbarchartdrilldown SOURCES += main.cpp drilldownseries.cpp drilldownchart.cpp HEADERS += drilldownseries.h drilldownchart.h +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/examples/zoomlinechart/zoomlinechart.pro b/examples/zoomlinechart/zoomlinechart.pro index 3e6f937..e30ec2f 100644 --- a/examples/zoomlinechart/zoomlinechart.pro +++ b/examples/zoomlinechart/zoomlinechart.pro @@ -5,6 +5,4 @@ TARGET = zoomlinechart HEADERS += chartview.h SOURCES += main.cpp chartview.cpp - - - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_EXAMPLES_BIN_DIR" diff --git a/qmlplugin/qmlplugin.pro b/qmlplugin/qmlplugin.pro index b19b830..a6a7382 100644 --- a/qmlplugin/qmlplugin.pro +++ b/qmlplugin/qmlplugin.pro @@ -1,3 +1,4 @@ +CURRENTLY_BUILDING_COMPONENTS = "qmlplugin" TEMPLATE = lib TARGET = qtcommercialchartqml CONFIG += qt plugin @@ -49,3 +50,4 @@ INSTALLS += target qmldir FILE = $$PWD/qmldir win32:{FILE = $$replace(FILE, "/","\\")} QMAKE_POST_LINK += $$QMAKE_COPY $$FILE $$CHART_BUILD_PLUGIN_DIR +mac: QMAKE_POST_LINK += " & $$MAC_POST_LINK_PREFIX $$MAC_PLUGINS_BIN_DIR" diff --git a/test/auto/chartdataset/chartdataset.pro b/test/auto/chartdataset/chartdataset.pro index 50edf53..4a8f6f7 100644 --- a/test/auto/chartdataset/chartdataset.pro +++ b/test/auto/chartdataset/chartdataset.pro @@ -1,4 +1,7 @@ !include( ../auto.pri ) { error( "Couldn't find the auto.pri file!" ) } + SOURCES += tst_chartdataset.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_AUTOTESTS_BIN_DIR" diff --git a/test/auto/domain/domain.pro b/test/auto/domain/domain.pro index 267f83a..0536b13 100644 --- a/test/auto/domain/domain.pro +++ b/test/auto/domain/domain.pro @@ -2,3 +2,5 @@ error( "Couldn't find the auto.pri file!" ) } SOURCES += tst_domain.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_AUTOTESTS_BIN_DIR" diff --git a/test/auto/qchart/qchart.pro b/test/auto/qchart/qchart.pro index 53f6737..663a4c3 100644 --- a/test/auto/qchart/qchart.pro +++ b/test/auto/qchart/qchart.pro @@ -2,3 +2,5 @@ error( "Couldn't find the auto.pri file!" ) } SOURCES += tst_qchart.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_AUTOTESTS_BIN_DIR" diff --git a/test/auto/qchartview/qchartview.pro b/test/auto/qchartview/qchartview.pro index 1cc04db..86b9eaf 100644 --- a/test/auto/qchartview/qchartview.pro +++ b/test/auto/qchartview/qchartview.pro @@ -2,3 +2,5 @@ error( "Couldn't find the auto.pri file!" ) } SOURCES += tst_qchartview.cpp + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_AUTOTESTS_BIN_DIR" diff --git a/test/chartwidgettest/chartwidgettest.pro b/test/chartwidgettest/chartwidgettest.pro index cd4d9e7..93cb7ca 100644 --- a/test/chartwidgettest/chartwidgettest.pro +++ b/test/chartwidgettest/chartwidgettest.pro @@ -16,3 +16,5 @@ SOURCES += main.cpp \ HEADERS += \ mainwidget.h \ dataseriedialog.h + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_TESTS_BIN_DIR" diff --git a/test/gdpbarchart/gdpbarchart.pro b/test/gdpbarchart/gdpbarchart.pro index 65d6677..1a73e0d 100644 --- a/test/gdpbarchart/gdpbarchart.pro +++ b/test/gdpbarchart/gdpbarchart.pro @@ -16,3 +16,5 @@ HEADERS += widget.h # TODO: QMAKE_POST_LINK does not work on mac; how to copy the data file? QMAKE_POST_LINK += $$QMAKE_COPY $$FILE $$CHART_BUILD_BIN_DIR } + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_TESTS_BIN_DIR" diff --git a/test/tablemodelchart/tablemodelchart.pro b/test/tablemodelchart/tablemodelchart.pro index 2f82e55..7ff4298 100644 --- a/test/tablemodelchart/tablemodelchart.pro +++ b/test/tablemodelchart/tablemodelchart.pro @@ -14,3 +14,5 @@ SOURCES += main.cpp\ HEADERS += tablewidget.h \ customtablemodel.h + +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_TESTS_BIN_DIR" diff --git a/test/wavechart/wavechart.pro b/test/wavechart/wavechart.pro index 9fd2b81..e49ebbf 100644 --- a/test/wavechart/wavechart.pro +++ b/test/wavechart/wavechart.pro @@ -6,5 +6,4 @@ TARGET = wavechart SOURCES += main.cpp wavechart.cpp HEADERS += wavechart.h - - +mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_TESTS_BIN_DIR"