# Copyright (C) 2012, 2014 O.S. Systems Software LTDA. 
 | 
# Copyright (C) 2013-2018 Martin Jansa <martin.jansa@gmail.com> 
 | 
  
 | 
inherit qmake5 
 | 
  
 | 
PACKAGECONFIG_OPENSSL ?= "openssl" 
 | 
  
 | 
PACKAGECONFIG[examples] = "" 
 | 
PACKAGECONFIG[tests] = "" 
 | 
PACKAGECONFIG[qtquickcompiler] = ",,qtdeclarative-native" 
 | 
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', 'QT_BUILD_PARTS-=examples', d)}" 
 | 
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', 'QT_BUILD_PARTS-=tests', d)}" 
 | 
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtquickcompiler', 'CONFIG+=qtquickcompiler', '', d)}" 
 | 
  
 | 
# we don't want conflicts with qt4 
 | 
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}" 
 | 
OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}" 
 | 
OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}" 
 | 
OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}" 
 | 
OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}" 
 | 
OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}" 
 | 
OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}" 
 | 
OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}" 
 | 
OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}" 
 | 
  
 | 
OE_QMAKE_RECURSIVE = "" 
 | 
  
 | 
# If Qt5 (qtbase) is machine specific, then everything will be, 
 | 
# because the (initial) qtbase configuration becomes part of Qt5/qmake 
 | 
python __anonymous() { 
 | 
    barch = d.getVar("BUILD_ARCH", True) or '' 
 | 
    tarch = d.getVar("TARGET_ARCH", True) or '' 
 | 
    # do not do anything if we are building a native package 
 | 
    if barch != tarch: 
 | 
        tarch = d.getVar("QT_PACKAGES_ARCH", True) or '' 
 | 
        if tarch: 
 | 
            d.setVar("PACKAGE_ARCH", tarch) 
 | 
} 
 | 
  
 | 
# if building static Qt5, add qtdeclarative-native dependency to all recipes 
 | 
# that depend on qtdeclarative as it's required for qmlimportscannertool 
 | 
python __anonymous() { 
 | 
    if bb.utils.contains('DISTRO_FEATURES', "qt5-static", True, False, d): 
 | 
        if bb.utils.contains('DEPENDS', "qtdeclarative", True, False, d): 
 | 
            d.appendVar("DEPENDS", " qtdeclarative-native") 
 | 
} 
 | 
  
 | 
# Many examples come with libraries installed outside of standard libdir, 
 | 
# suppress QA check complaining 
 | 
INSANE_SKIP:${PN}-dbg += "libdir" 
 | 
INSANE_SKIP:${PN}-examples += "libdir staticdev dev-so" 
 | 
  
 | 
PACKAGES =. "${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples " 
 | 
  
 | 
ALLOW_EMPTY:${PN} = "1" 
 | 
ALLOW_EMPTY:${PN}-plugins = "1" 
 | 
ALLOW_EMPTY:${PN}-qmlplugins = "1" 
 | 
  
 | 
RRECOMMENDS:${PN} = " \ 
 | 
    ${PN}-plugins \ 
 | 
    ${PN}-qmlplugins \ 
 | 
    " 
 | 
RRECOMMENDS:${PN}:class-native = "" 
 | 
  
 | 
RRECOMMENDS:${PN}-dev = " \ 
 | 
    ${PN} \ 
 | 
    ${PN}-mkspecs \ 
 | 
    ${PN}-qmldesigner \ 
 | 
    " 
 | 
  
 | 
# extra packages 
 | 
FILES:${PN}-qmldesigner += " \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/designer \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/designer \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/designer \ 
 | 
" 
 | 
  
 | 
# qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*.qmlc,*.js,*.jsc} 
 | 
FILES:${PN}-qmlplugins = " \ 
 | 
    ${OE_QMAKE_PATH_QML}/*.qmltypes \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/qmldir \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.qmltypes \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.qml \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.qmlc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.js \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.jsc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.png \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/qmldir \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.qmltypes \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.qml \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.qmlc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.js \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.jsc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.png \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/qmldir \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/images \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.qmltypes \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.qml \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.qmlc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.js \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.jsc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.png \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.metainfo \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/qmldir \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmltypes \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qml \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmlc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.js \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.jsc \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \ 
 | 
" 
 | 
  
 | 
FILES:${PN}-tools = " \ 
 | 
    ${OE_QMAKE_PATH_BINS}/* \ 
 | 
" 
 | 
FILES:${PN}-plugins = " \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*/*/*${SOLIBSDEV} \ 
 | 
" 
 | 
FILES:${PN}-mkspecs = "\ 
 | 
    ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \ 
 | 
" 
 | 
  
 | 
# modifications to normal packages 
 | 
FILES:${PN} += " \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/metatypes \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBS} \ 
 | 
    ${OE_QMAKE_PATH_LIBEXECS} \ 
 | 
" 
 | 
FILES:${PN}-dev += " \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/pkgconfig \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/cmake/* \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/*.prl \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/*.la \ 
 | 
    ${OE_QMAKE_PATH_HEADERS}/* \ 
 | 
" 
 | 
FILES:${PN}-staticdev += " \ 
 | 
    ${OE_QMAKE_PATH_LIBS}/*.a \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*.a \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*.prl \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*/*.a \ 
 | 
    ${OE_QMAKE_PATH_PLUGINS}/*/*/*.prl \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.a \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*.prl \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.a \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*.prl \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.a \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*.prl \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.a \ 
 | 
    ${OE_QMAKE_PATH_QML}/*/*/*/*/*.prl \ 
 | 
" 
 | 
FILES:${PN}-examples = " \ 
 | 
    ${OE_QMAKE_PATH_EXAMPLES} \ 
 | 
" 
 | 
  
 | 
PATH:prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" 
 |