Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Customize Yocto meta-qt5
Forum Updated to NodeBB v4.3 + New Features

Customize Yocto meta-qt5

Scheduled Pinned Locked Moved Solved Installation and Deployment
5 Posts 2 Posters 2.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mark81
    wrote on last edited by
    #1

    I'm learning Yocto and I'm trying to customize the meta-qt5 layer.
    I read the docs, but they are very concise.

    Currently, my only need is very simple: I want to disable some top-level modules. For example I want only:

    • qtbase
    • qtserialport
    • qtserialbus
    • qtwebsockets
    • qtwebchannel
    • qtconnectivity

    The link above says:

    By default, meta-qt5 enables only a minimal set of features that is available in a Qt module

    but I don't understand that. It seems it wants to compile everything!
    How can I disable the other top-level modules I don't want to build?

    aha_1980A 1 Reply Last reply
    0
    • M Mark81

      I'm learning Yocto and I'm trying to customize the meta-qt5 layer.
      I read the docs, but they are very concise.

      Currently, my only need is very simple: I want to disable some top-level modules. For example I want only:

      • qtbase
      • qtserialport
      • qtserialbus
      • qtwebsockets
      • qtwebchannel
      • qtconnectivity

      The link above says:

      By default, meta-qt5 enables only a minimal set of features that is available in a Qt module

      but I don't understand that. It seems it wants to compile everything!
      How can I disable the other top-level modules I don't want to build?

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by aha_1980
      #2

      @Mark81

      It seems it wants to compile everything!

      That depends on the build command you give. If you build something, that needs all of Qt, then well, all will be build.

      bitbake qtbase should only build that (plus dependencies).

      Regards

      Qt has to stay free or it will die.

      M 1 Reply Last reply
      0
      • aha_1980A aha_1980

        @Mark81

        It seems it wants to compile everything!

        That depends on the build command you give. If you build something, that needs all of Qt, then well, all will be build.

        bitbake qtbase should only build that (plus dependencies).

        Regards

        M Offline
        M Offline
        Mark81
        wrote on last edited by
        #3

        @aha_1980 I'm using the Distribution Package of ST using the following settings:

        DISTRO=openstlinux-eglfs
        MACHINE=stm32mp1
        IMAGE=st-example-image-qt
        

        so I bitbake st-example-image-qt that contains the meta-qt5 layer, in the conf/bblayers.conf:

        ADDONSLAYERS += "${@'${OEROOT}/layers/meta-qt5' if os.path.isfile('${OEROOT}/layers/meta-qt5/conf/layer.conf') else ''}"
        

        I guess I need to add something below this line to customize the building of the Qt Framework.
        Basically I'm trying to understand how to "translate" the configure command into the Yocto syntax. Of course I don't want to mess the meta-qt5 layer. I bet there's a way to do this from the higher level.

        aha_1980A 1 Reply Last reply
        0
        • M Mark81

          @aha_1980 I'm using the Distribution Package of ST using the following settings:

          DISTRO=openstlinux-eglfs
          MACHINE=stm32mp1
          IMAGE=st-example-image-qt
          

          so I bitbake st-example-image-qt that contains the meta-qt5 layer, in the conf/bblayers.conf:

          ADDONSLAYERS += "${@'${OEROOT}/layers/meta-qt5' if os.path.isfile('${OEROOT}/layers/meta-qt5/conf/layer.conf') else ''}"
          

          I guess I need to add something below this line to customize the building of the Qt Framework.
          Basically I'm trying to understand how to "translate" the configure command into the Yocto syntax. Of course I don't want to mess the meta-qt5 layer. I bet there's a way to do this from the higher level.

          aha_1980A Offline
          aha_1980A Offline
          aha_1980
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @Mark81 have you actually tried what I wrote?

          Adding a layer itself does not force anything to build. but referencing recipes from the layer does.

          so if your complete image forces all of Qt, everything will be build. but you can create your own, minimal image.

          Regards

          Qt has to stay free or it will die.

          M 1 Reply Last reply
          0
          • aha_1980A aha_1980

            @Mark81 have you actually tried what I wrote?

            Adding a layer itself does not force anything to build. but referencing recipes from the layer does.

            so if your complete image forces all of Qt, everything will be build. but you can create your own, minimal image.

            Regards

            M Offline
            M Offline
            Mark81
            wrote on last edited by
            #5

            @aha_1980 I apologize. Please understand: I didn't try what you suggested because it wasn't what I was looking for. I appreciated a lot your answer because it put me on the right way.

            I found the file to configure Qt5:

            layers/meta-st/meta-st-openstlinux/recipes-samples/images/st-example-image-qt.bb
            

            inside it defines what to build, example:

            # QT part Essentials
            IMAGE_QT_MANDATORY_PART = " \
               qtbase                  \
               liberation-fonts        \
               qtbase-plugins          \
               qtbase-tools            \
               qtdeclarative           \
               qtdeclarative-qmlplugins\
               qtdeclarative-tools     \
               qtgraphicaleffects-qmlplugins \
               qtmultimedia            \
               qtmultimedia-plugins    \
               qtmultimedia-qmlplugins \
               qtscript                \
               openstlinux-qt-eglfs \
               "
            
            # QT part add-ons
            IMAGE_QT_OPTIONAL_PART = " \
               qtserialport            \
               "
            
            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved