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