xref: /OK3568_Linux_fs/yocto/meta-qt5/recipes-qt/qt5/qt5.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# Copyright (C) 2012, 2014 O.S. Systems Software LTDA.
2*4882a593Smuzhiyun# Copyright (C) 2013-2018 Martin Jansa <martin.jansa@gmail.com>
3*4882a593Smuzhiyun
4*4882a593Smuzhiyuninherit qmake5
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunPACKAGECONFIG_OPENSSL ?= "openssl"
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunPACKAGECONFIG[examples] = ""
9*4882a593SmuzhiyunPACKAGECONFIG[tests] = ""
10*4882a593SmuzhiyunPACKAGECONFIG[qtquickcompiler] = ",,qtdeclarative-native"
11*4882a593SmuzhiyunEXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', 'QT_BUILD_PARTS-=examples', d)}"
12*4882a593SmuzhiyunEXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', 'QT_BUILD_PARTS-=tests', d)}"
13*4882a593SmuzhiyunEXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtquickcompiler', 'CONFIG+=qtquickcompiler', '', d)}"
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun# we don't want conflicts with qt4
16*4882a593SmuzhiyunOE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
17*4882a593SmuzhiyunOE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
18*4882a593SmuzhiyunOE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
19*4882a593SmuzhiyunOE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
20*4882a593SmuzhiyunOE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
21*4882a593SmuzhiyunOE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
22*4882a593SmuzhiyunOE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
23*4882a593SmuzhiyunOE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
24*4882a593SmuzhiyunOE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunOE_QMAKE_RECURSIVE = ""
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun# If Qt5 (qtbase) is machine specific, then everything will be,
29*4882a593Smuzhiyun# because the (initial) qtbase configuration becomes part of Qt5/qmake
30*4882a593Smuzhiyunpython __anonymous() {
31*4882a593Smuzhiyun    barch = d.getVar("BUILD_ARCH", True) or ''
32*4882a593Smuzhiyun    tarch = d.getVar("TARGET_ARCH", True) or ''
33*4882a593Smuzhiyun    # do not do anything if we are building a native package
34*4882a593Smuzhiyun    if barch != tarch:
35*4882a593Smuzhiyun        tarch = d.getVar("QT_PACKAGES_ARCH", True) or ''
36*4882a593Smuzhiyun        if tarch:
37*4882a593Smuzhiyun            d.setVar("PACKAGE_ARCH", tarch)
38*4882a593Smuzhiyun}
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun# if building static Qt5, add qtdeclarative-native dependency to all recipes
41*4882a593Smuzhiyun# that depend on qtdeclarative as it's required for qmlimportscannertool
42*4882a593Smuzhiyunpython __anonymous() {
43*4882a593Smuzhiyun    if bb.utils.contains('DISTRO_FEATURES', "qt5-static", True, False, d):
44*4882a593Smuzhiyun        if bb.utils.contains('DEPENDS', "qtdeclarative", True, False, d):
45*4882a593Smuzhiyun            d.appendVar("DEPENDS", " qtdeclarative-native")
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun# Many examples come with libraries installed outside of standard libdir,
49*4882a593Smuzhiyun# suppress QA check complaining
50*4882a593SmuzhiyunINSANE_SKIP:${PN}-dbg += "libdir"
51*4882a593SmuzhiyunINSANE_SKIP:${PN}-examples += "libdir staticdev dev-so"
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunPACKAGES =. "${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples "
54*4882a593Smuzhiyun
55*4882a593SmuzhiyunALLOW_EMPTY:${PN} = "1"
56*4882a593SmuzhiyunALLOW_EMPTY:${PN}-mkspecs = "1"
57*4882a593SmuzhiyunALLOW_EMPTY:${PN}-plugins = "1"
58*4882a593SmuzhiyunALLOW_EMPTY:${PN}-qmlplugins = "1"
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunRRECOMMENDS:${PN} = " \
61*4882a593Smuzhiyun    ${PN}-plugins \
62*4882a593Smuzhiyun    ${PN}-qmlplugins \
63*4882a593Smuzhiyun    "
64*4882a593SmuzhiyunRRECOMMENDS:${PN}:class-native = ""
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunRRECOMMENDS:${PN}-dev = " \
67*4882a593Smuzhiyun    ${PN} \
68*4882a593Smuzhiyun    ${PN}-mkspecs \
69*4882a593Smuzhiyun    ${PN}-qmldesigner \
70*4882a593Smuzhiyun    "
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun# extra packages
73*4882a593SmuzhiyunFILES:${PN}-qmldesigner += " \
74*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/designer \
75*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/designer \
76*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/designer \
77*4882a593Smuzhiyun"
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun# qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*.qmlc,*.js,*.jsc}
80*4882a593SmuzhiyunFILES:${PN}-qmlplugins = " \
81*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*.qmltypes \
82*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \
83*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/qmldir \
84*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.qmltypes \
85*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.qml \
86*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.qmlc \
87*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.js \
88*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.jsc \
89*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.png \
90*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*${SOLIBSDEV} \
91*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/qmldir \
92*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.qmltypes \
93*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.qml \
94*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.qmlc \
95*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.js \
96*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.jsc \
97*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.png \
98*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*${SOLIBSDEV} \
99*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/qmldir \
100*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/images \
101*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.qmltypes \
102*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.qml \
103*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.qmlc \
104*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.js \
105*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.jsc \
106*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.png \
107*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.metainfo \
108*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*${SOLIBSDEV} \
109*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/qmldir \
110*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmltypes \
111*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qml \
112*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmlc \
113*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.js \
114*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.jsc \
115*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \
116*4882a593Smuzhiyun"
117*4882a593Smuzhiyun
118*4882a593SmuzhiyunFILES:${PN}-tools = " \
119*4882a593Smuzhiyun    ${OE_QMAKE_PATH_BINS}/* \
120*4882a593Smuzhiyun"
121*4882a593SmuzhiyunFILES:${PN}-plugins = " \
122*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
123*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \
124*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*/*/*${SOLIBSDEV} \
125*4882a593Smuzhiyun"
126*4882a593SmuzhiyunFILES:${PN}-mkspecs = "\
127*4882a593Smuzhiyun    ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
128*4882a593Smuzhiyun"
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun# modifications to normal packages
131*4882a593SmuzhiyunFILES:${PN} += " \
132*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/metatypes \
133*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBS} \
134*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBEXECS} \
135*4882a593Smuzhiyun"
136*4882a593SmuzhiyunFILES:${PN}-dev += " \
137*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \
138*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/pkgconfig \
139*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/cmake/* \
140*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/*.prl \
141*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/*.la \
142*4882a593Smuzhiyun    ${OE_QMAKE_PATH_HEADERS}/* \
143*4882a593Smuzhiyun"
144*4882a593SmuzhiyunFILES:${PN}-staticdev += " \
145*4882a593Smuzhiyun    ${OE_QMAKE_PATH_LIBS}/*.a \
146*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*.a \
147*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*.prl \
148*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*/*.a \
149*4882a593Smuzhiyun    ${OE_QMAKE_PATH_PLUGINS}/*/*/*.prl \
150*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.a \
151*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*.prl \
152*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.a \
153*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*.prl \
154*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.a \
155*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*.prl \
156*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.a \
157*4882a593Smuzhiyun    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.prl \
158*4882a593Smuzhiyun"
159*4882a593SmuzhiyunFILES:${PN}-examples = " \
160*4882a593Smuzhiyun    ${OE_QMAKE_PATH_EXAMPLES} \
161*4882a593Smuzhiyun"
162*4882a593Smuzhiyun
163*4882a593SmuzhiyunPATH:prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:"
164