|
1 # Include file to make it easy to include WebKit into Qt projects |
|
2 |
|
3 |
|
4 isEmpty(OUTPUT_DIR) { |
|
5 CONFIG(debug, debug|release) { |
|
6 OUTPUT_DIR=$$PWD/WebKitBuild/Debug |
|
7 } else { # Release |
|
8 OUTPUT_DIR=$$PWD/WebKitBuild/Release |
|
9 } |
|
10 } |
|
11 |
|
12 DEFINES += BUILDING_QT__=1 |
|
13 building-libs { |
|
14 win32-msvc*: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32 |
|
15 } else { |
|
16 CONFIG(QTDIR_build) { |
|
17 QT += webkit |
|
18 } else { |
|
19 QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR |
|
20 mac:!static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) { |
|
21 LIBS += -framework QtWebKit |
|
22 QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH |
|
23 } else { |
|
24 win32-*|wince* { |
|
25 LIBS += -lQtWebKit$${QT_MAJOR_VERSION} |
|
26 } else { |
|
27 LIBS += -lQtWebKit |
|
28 } |
|
29 } |
|
30 } |
|
31 DEPENDPATH += $$PWD/WebKit/qt/Api |
|
32 } |
|
33 |
|
34 !mac:!unix|symbian { |
|
35 DEFINES += USE_SYSTEM_MALLOC |
|
36 } |
|
37 |
|
38 CONFIG(release, debug|release) { |
|
39 DEFINES += NDEBUG |
|
40 } |
|
41 |
|
42 BASE_DIR = $$PWD |
|
43 INCLUDEPATH += $$PWD/WebKit/qt/Api |
|
44 |
|
45 CONFIG -= warn_on |
|
46 *-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing |
|
47 #QMAKE_CXXFLAGS += -Wall -Wno-undef -Wno-unused-parameter |
|
48 |
|
49 # Enable GNU compiler extensions to the ARM compiler for all Qt ports using RVCT |
|
50 symbian|*-armcc { |
|
51 RVCT_COMMON_CFLAGS = --gnu --diag_suppress 68,111,177,368,830,1293 |
|
52 RVCT_COMMON_CXXFLAGS = $$RVCT_COMMON_CFLAGS --no_parse_templates |
|
53 DEFINES *= QT_NO_UITOOLS |
|
54 } |
|
55 |
|
56 *-armcc { |
|
57 QMAKE_CFLAGS += $$RVCT_COMMON_CFLAGS |
|
58 QMAKE_CXXFLAGS += $$RVCT_COMMON_CXXFLAGS |
|
59 } |
|
60 |
|
61 symbian { |
|
62 QMAKE_CXXFLAGS.ARMCC += $$RVCT_COMMON_CXXFLAGS |
|
63 } |
|
64 |
|
65 contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools |
|
66 |
|
67 # Disable a few warnings on Windows. The warnings are also |
|
68 # disabled in WebKitLibraries/win/tools/vsprops/common.vsprops |
|
69 win32-msvc*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996 |
|
70 |
|
71 # |
|
72 # For builds inside Qt we interpret the output rule and the input of each extra compiler manually |
|
73 # and add the resulting sources to the SOURCES variable, because the build inside Qt contains already |
|
74 # all the generated files. We do not need to generate any extra compiler rules in that case. |
|
75 # |
|
76 # In addition this function adds a new target called 'generated_files' that allows manually calling |
|
77 # all the extra compilers to generate all the necessary files for the build using 'make generated_files' |
|
78 # |
|
79 defineTest(addExtraCompiler) { |
|
80 CONFIG(QTDIR_build) { |
|
81 outputRule = $$eval($${1}.output) |
|
82 outVariable = $$eval($${1}.variable_out) |
|
83 !isEqual(outVariable,GENERATED_SOURCES):return(true) |
|
84 |
|
85 input = $$eval($${1}.input) |
|
86 input = $$eval($$input) |
|
87 |
|
88 for(file,input) { |
|
89 base = $$basename(file) |
|
90 base ~= s/\..+// |
|
91 newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base) |
|
92 SOURCES += $$newfile |
|
93 } |
|
94 |
|
95 export(SOURCES) |
|
96 } else { |
|
97 QMAKE_EXTRA_COMPILERS += $$1 |
|
98 generated_files.depends += compiler_$${1}_make_all |
|
99 export(QMAKE_EXTRA_COMPILERS) |
|
100 export(generated_files.depends) |
|
101 } |
|
102 return(true) |
|
103 } |
|
104 |
|
105 defineTest(addExtraCompilerWithHeader) { |
|
106 addExtraCompiler($$1) |
|
107 |
|
108 eval(headerFile = $${2}) |
|
109 isEmpty(headerFile) { |
|
110 eval($${1}_header.output = $$eval($${1}.output)) |
|
111 eval($${1}_header.output ~= s/\.cpp/.h/) |
|
112 eval($${1}_header.output ~= s/\.c/.h/) |
|
113 } else { |
|
114 eval($${1}_header.output = $$headerFile) |
|
115 } |
|
116 |
|
117 eval($${1}_header.input = $$eval($${1}.input)) |
|
118 eval($${1}_header.commands = @echo -n '') |
|
119 eval($${1}_header.depends = compiler_$${1}_make_all) |
|
120 eval($${1}_header.variable_out = GENERATED_FILES) |
|
121 |
|
122 export($${1}_header.output) |
|
123 export($${1}_header.input) |
|
124 export($${1}_header.commands) |
|
125 export($${1}_header.depends) |
|
126 export($${1}_header.variable_out) |
|
127 |
|
128 !CONFIG(QTDIR_build): QMAKE_EXTRA_COMPILERS += $${1}_header |
|
129 |
|
130 export(QMAKE_EXTRA_COMPILERS) |
|
131 export(generated_files.depends) |
|
132 export(SOURCES) |
|
133 |
|
134 return(true) |
|
135 } |
|
136 |