##// END OF EJS Templates
minor . missing prefix for w32
Michal Klocek -
r1025:c4bf26b025a2
parent child
Show More
@@ -1,116 +1,115
1 1
2 2 LIBRARY_NAME = QtCommercialChart
3 3
4 4 ##################### SHADOW CONFIG #################################################
5 5
6 6 !contains($${PWD}, $${OUT_PWD}){
7 7 search = "$$PWD:::"
8 8 temp = $$split(search,"/")
9 9 temp = $$last(temp)
10 10 path = $$replace(search,$$temp,'')
11 11 temp = $$split(OUT_PWD,$$path)
12 12 temp = $$split(temp,'/')
13 13 temp = $$first(temp)
14 14 path = "$${path}$${temp}"
15 15 SHADOW=$$path
16 16 }else{
17 17 SHADOW=$$PWD
18 18 CONFIG-=development_build
19 19 }
20 20
21 21 ##################### BUILD PATHS ##################################################
22 22
23 23 CHART_BUILD_PUBLIC_HEADER_DIR = $$SHADOW/include
24 24 CHART_BUILD_PRIVATE_HEADER_DIR = $$CHART_BUILD_PUBLIC_HEADER_DIR/private
25 25 CHART_BUILD_LIB_DIR = $$SHADOW/lib
26 26 CHART_BUILD_DIR = $$SHADOW/build
27 27 CHART_BUILD_BIN_DIR = $$SHADOW/bin
28 28 CHART_BUILD_PLUGIN_DIR = $$CHART_BUILD_BIN_DIR/QtCommercial/Chart
29 29 CHART_BUILD_DOC_DIR = $$SHADOW/doc
30 30
31 31 win32:{
32 32 CHART_BUILD_PUBLIC_HEADER_DIR = $$replace(CHART_BUILD_PUBLIC_HEADER_DIR, "/","\\")
33 33 CHART_BUILD_PRIVATE_HEADER_DIR = $$replace(CHART_BUILD_PRIVATE_HEADER_DIR, "/","\\")
34 34 CHART_BUILD_BUILD_DIR = $$replace(CHART_BUILD_BUILD_DIR, "/","\\")
35 35 CHART_BUILD_BIN_DIR = $$replace(CHART_BUILD_BIN_DIR, "/","\\")
36 36 CHART_BUILD_PLUGIN_DIR = $$replace(CHART_BUILD_PLUGIN_DIR, "/","\\")
37 37 CHART_BUILD_DOC_DIR = $$replace(CHART_BUILD_DOC_DIR, "/","\\")
38 38 CHART_BUILD_LIB_DIR = $$CHART_BUILD_BIN_DIR
39 39 }
40 40
41 41 mac: {
42 42 # TODO: The following qmake flags are a work-around to make QtCommercial Charts compile on
43 43 # QtCommercial 4.8. On the other hand Charts builds successfully with Qt open source 4.8
44 44 # without these definitions, so this is probably a configuration issue on QtCommercial 4.8;
45 45 # it should probably define the minimum OSX version to be 10.5...
46 46 QMAKE_CXXFLAGS *= -mmacosx-version-min=10.5
47 47 QMAKE_LFLAGS *= -mmacosx-version-min=10.5
48 48 }
49 49
50 50 ##################### DEVELOPMENT BUILD ###################################################
51 51
52 52 development_build: {
53 53 DEFINES+=DEVELOPMENT_BUILD
54 54 CONFIG+=debug_and_release
55 55 }
56 56
57 57
58 58 ##################### BUILD CONFIG ########################################################
59 59
60 60 !system_build:{
61 61
62 62 INCLUDEPATH += $$CHART_BUILD_PUBLIC_HEADER_DIR
63 63
64 64 !win32: {
65 65 LIBS += -L $$CHART_BUILD_LIB_DIR -Wl,-rpath,$$CHART_BUILD_LIB_DIR
66 66 }else{
67 67 win32-msvc*: {
68 68 # hack fix for error:
69 69 # "LINK : fatal error LNK1146: no argument specified with option '/LIBPATH:'"
70 70 QMAKE_LIBDIR += $$CHART_BUILD_LIB_DIR
71 71 }else{
72 72 LIBS += -L $$CHART_BUILD_LIB_DIR
73 73 }
74 74 }
75 75
76 76 CONFIG(debug, debug|release) {
77 mac: LIBRARY = $$join(LIBRARY_NAME,,,_debug)
78 win32: LIBRARY = $$join(LIBRARY_NAME,,,d)
79 linux: LIBRARY = $$LIBRARY_NAME
77 mac: LIBRARY_NAME = $$join(LIBRARY_NAME,,,_debug)
78 win32: LIBRARY_NAME = $$join(LIBRARY_NAME,,,d)
80 79 }
81 80
82 LIBS += -l$$LIBRARY
81 LIBS += -l$$LIBRARY_NAME
83 82
84 83
85 84 mac: {
86 85 # This is a hack to make binaries to use the internal version of the QtCommercial Charts library on OSX
87 86 CHARTS_LIB_NAME = libQtCommercialChart.1.dylib
88 87 CONFIG(debug, debug|release) {
89 88 CHARTS_LIB_NAME = libQtCommercialChartd.1.dylib
90 89 }
91 90 BIN_TARGET_PATH = ""
92 91 exists ($$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET) {
93 92 BIN_TARGET_PATH = $$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET
94 93 }
95 94 exists ($$CHART_BUILD_BIN_DIR"/test/"$$TARGET".app/Contents/MacOS/"$$TARGET) {
96 95 # Executable in test folder
97 96 BIN_TARGET_PATH = $$CHART_BUILD_BIN_DIR"/test/"$$TARGET".app/Contents/MacOS/"$$TARGET
98 97 }
99 98 exists ($$CHART_BUILD_BIN_DIR"/test/tst_"$$TARGET".app/Contents/MacOS/tst_"$$TARGET) {
100 99 # Executable in test folder with custom target "tst_NNN"
101 100 BIN_TARGET_PATH = $$CHART_BUILD_BIN_DIR"/test/tst_"$$TARGET".app/Contents/MacOS/tst_"$$TARGET
102 101 }
103 102 exists($$CHART_BUILD_PLUGIN_DIR"/lib"$$TARGET".dylib") {
104 103 # Plugin
105 104 BIN_TARGET_PATH = $$CHART_BUILD_PLUGIN_DIR"/lib"$$TARGET".dylib"
106 105 }
107 106 !isEmpty (BIN_TARGET_PATH) {
108 107 QMAKE_POST_LINK += install_name_tool -change $$CHARTS_LIB_NAME $$CHART_BUILD_LIB_DIR"/"$$CHARTS_LIB_NAME $$BIN_TARGET_PATH
109 108 }
110 109 }
111 110
112 111 }else {
113 112
114 113 CONFIG += qtcommercialchart
115 114
116 115 } No newline at end of file
@@ -1,176 +1,171
1 1 !include( ../config.pri ):error( Couldn't find the config.pri file! )
2 2
3 3 TARGET = $$LIBRARY_NAME
4 4 DESTDIR = $$CHART_BUILD_LIB_DIR
5 5 TEMPLATE = lib
6 6 QT = core gui
7 7
8 8 win32-msvc*: LIBS += User32.lib
9
10 CONFIG(debug, debug|release) {
11 mac: TARGET = $$join(TARGET,,,_debug)
12 win32: TARGET = $$join(TARGET,,d)
13 }
14 9
15 10 LIBS -= -l$$LIBRARY_NAME
16 11
17 12 SOURCES += \
18 13 $$PWD/chartdataset.cpp \
19 14 $$PWD/chartpresenter.cpp \
20 15 $$PWD/charttheme.cpp \
21 16 $$PWD/domain.cpp \
22 17 $$PWD/qchart.cpp \
23 18 $$PWD/qchartview.cpp \
24 19 $$PWD/qabstractseries.cpp \
25 20 $$PWD/chartbackground.cpp \
26 21 $$PWD/chart.cpp \
27 22 $$PWD/scroller.cpp
28 23 PRIVATE_HEADERS += \
29 24 $$PWD/chartdataset_p.h \
30 25 $$PWD/chartitem_p.h \
31 26 $$PWD/chartpresenter_p.h \
32 27 $$PWD/charttheme_p.h \
33 28 $$PWD/domain_p.h \
34 29 $$PWD/chartbackground_p.h \
35 30 $$PWD/chart_p.h \
36 31 $$PWD/chartconfig_p.h \
37 32 $$PWD/qchart_p.h \
38 33 $$PWD/qchartview_p.h \
39 34 $$PWD/scroller_p.h \
40 35 $$PWD/qabstractseries_p.h
41 36 PUBLIC_HEADERS += \
42 37 $$PWD/qchart.h \
43 38 $$PWD/qchartglobal.h \
44 39 $$PWD/qabstractseries.h \
45 40 $$PWD/qchartview.h
46 41
47 42 include(animations/animations.pri)
48 43 include(areachart/areachart.pri)
49 44 include(axis/axis.pri)
50 45 include(barchart/barchart.pri)
51 46 include(legend/legend.pri)
52 47 include(linechart/linechart.pri)
53 48 include(piechart/piechart.pri)
54 49 include(scatterseries/scatter.pri)
55 50 include(splinechart/splinechart.pri)
56 51 include(themes/themes.pri)
57 52 include(xychart/xychart.pri)
58 53
59 54 HEADERS += $$PUBLIC_HEADERS
60 55 HEADERS += $$PRIVATE_HEADERS
61 56 HEADERS += $$THEMES
62 57 INCLUDEPATH += ../include .
63 58
64 59 OBJECTS_DIR = $$CHART_BUILD_DIR/lib
65 60 MOC_DIR = $$CHART_BUILD_DIR/lib
66 61 UI_DIR = $$CHART_BUILD_DIR/lib
67 62 RCC_DIR = $$CHART_BUILD_DIR/lib
68 63 DEFINES += QTCOMMERCIALCHART_LIBRARY
69 64
70 65 #qt public headers
71 66 #this is very primitive and lame parser , TODO: make perl script insted
72 67 !exists($$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal)
73 68 {
74 69 system($$QMAKE_MKDIR $$CHART_BUILD_PUBLIC_HEADER_DIR)
75 70 win32:{
76 71 command = "echo $${LITERAL_HASH}include \"qchartglobal.h\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal"
77 72 }else{
78 73 command = "echo \"$${LITERAL_HASH}include \\\"qchartglobal.h\\\"\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal"
79 74 }
80 75 PUBLIC_QT_HEADERS += $$CHART_BUILD_PUBLIC_HEADER_DIR/QChartGlobal
81 76 system($$command)
82 77 }
83 78
84 79 for(file, PUBLIC_HEADERS) {
85 80 name = $$split(file,'/')
86 81 name = $$last(name)
87 82 class = "$$cat($$file)"
88 83 class = $$find(class,class)
89 84 !isEmpty(class){
90 85 class = $$split(class,QTCOMMERCIALCHART_EXPORT)
91 86 class = $$member(class,1)
92 87 class = $$split(class,' ')
93 88 class = $$replace(class,' ','')
94 89 class = $$member(class,0)
95 90 win32:{
96 91 command = "echo $${LITERAL_HASH}include \"$$name\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/$$class"
97 92 }else{
98 93 command = "echo \"$${LITERAL_HASH}include \\\"$$name\\\"\" > $$CHART_BUILD_PUBLIC_HEADER_DIR/$$class"
99 94 }
100 95 PUBLIC_QT_HEADERS += $$CHART_BUILD_PUBLIC_HEADER_DIR/$$class
101 96 system($$command)
102 97 }
103 98 }
104 99
105 100 public_headers.path = $$[QT_INSTALL_HEADERS]/QtCommercialChart
106 101 public_headers.files = $$PUBLIC_HEADERS $$PUBLIC_QT_HEADERS
107 102
108 103 target.path = $$[QT_INSTALL_LIBS]
109 104 INSTALLS += target public_headers
110 105
111 106 install_build_public_headers.name = build_public_headers
112 107 install_build_public_headers.output = $$CHART_BUILD_PUBLIC_HEADER_DIR/${QMAKE_FILE_BASE}.h
113 108 install_build_public_headers.input = PUBLIC_HEADERS
114 109 install_build_public_headers.commands = $$QMAKE_COPY \
115 110 ${QMAKE_FILE_NAME} \
116 111 $$CHART_BUILD_PUBLIC_HEADER_DIR
117 112 install_build_public_headers.CONFIG += target_predeps \
118 113 no_link
119 114
120 115 install_build_private_headers.name = buld_private_headers
121 116 install_build_private_headers.output = $$CHART_BUILD_PRIVATE_HEADER_DIR/${QMAKE_FILE_BASE}.h
122 117 install_build_private_headers.input = PRIVATE_HEADERS
123 118 install_build_private_headers.commands = $$QMAKE_COPY \
124 119 ${QMAKE_FILE_NAME} \
125 120 $$CHART_BUILD_PRIVATE_HEADER_DIR
126 121 install_build_private_headers.CONFIG += target_predeps \
127 122 no_link
128 123
129 124 QMAKE_EXTRA_COMPILERS += install_build_public_headers \
130 125 install_build_private_headers \
131 126
132 127 # There is a problem with jom.exe currently. It does not seem to understand QMAKE_EXTRA_TARGETS properly.
133 128 # This is the case at least with shadow builds.
134 129 # http://qt-project.org/wiki/jom
135 130
136 131 development_build:!win32-msvc*:{
137 132 chartversion.target = $$PWD/qchartversion_p.h
138 133
139 134 unix:{
140 135 chartversion.commands = @echo \
141 136 \" $${LITERAL_HASH}ifndef QCHARTVERSION_P_H\\n\
142 137 $${LITERAL_HASH}define QCHARTVERSION_P_H\\n\
143 138 const char *buildTime = \\\"`date +'%y%m%d%H%M'`\\\" ; \\n\
144 139 const char *gitHead = \\\"`git rev-parse HEAD`\\\" ; \\n \
145 140 $${LITERAL_HASH}endif \" \
146 141 > \
147 142 $$chartversion.target;
148 143 }else{
149 144 chartversion.commands = @echo \
150 145 "const char *buildTime = \"%date%_%time%\" ; \
151 146 const char *gitHead = \"unknown\" ; " \
152 147 > \
153 148 $$chartversion.target
154 149 }
155 150
156 151 chartversion.depends = $$HEADERS \
157 152 $$SOURCES
158 153
159 154 PRE_TARGETDEPS += $$chartversion.target
160 155 QMAKE_CLEAN += $$PWD/qchartversion_p.h
161 156 QMAKE_EXTRA_TARGETS += chartversion
162 157 }
163 158
164 159 unix:QMAKE_DISTCLEAN += -r \
165 160 $$CHART_BUILD_HEADER_DIR \
166 161 $$CHART_BUILD_LIB_DIR
167 162 win32:QMAKE_DISTCLEAN += /Q \
168 163 $$CHART_BUILD_HEADER_DIR \
169 164 $$CHART_BUILD_LIB_DIR
170 165
171 166 # treat warnings as errors
172 167 win32-msvc*: {
173 168 QMAKE_CXXFLAGS += /WX
174 169 } else {
175 170 QMAKE_CXXFLAGS += -Werror
176 171 }
General Comments 0
You need to be logged in to leave comments. Login now