Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. How to add a kit to Qt Creator from the command line, or other programmatic manner?
Forum Updated to NodeBB v4.3 + New Features

How to add a kit to Qt Creator from the command line, or other programmatic manner?

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
8 Posts 2 Posters 1.7k Views 2 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.
  • K Offline
    K Offline
    Kenz Dale
    wrote on last edited by Kenz Dale
    #1

    In my search for a clonable install and configuration of Qt Creator, I would like to be able to programmatically install kits, which I can then reference from a .pro.shared file.

    I cannot find any reference for how to do anything like this. Is there a notion in Qt Creator for how to do this?

    If not, is there a way to add it directly to the files in ~/.config/QtProject/qtcreator? It's been suggested I look at the ~/.config/QtProject/qtcreator/profiles.xml file, but most of the information contained there is tagged with UUIDs of some kind, so I have my doubts that a system.xml file from one computer and O/S would work nicely on another with a different O/S.

    1 Reply Last reply
    1
    • hskoglundH Online
      hskoglundH Online
      hskoglund
      wrote on last edited by
      #2

      Hi, before I had a similar idea: when I compiled a custom Qt (e,g, static flavored) I wanted an automatic way to add my fancy new kit to an existing Qt Creator installation, and my idea was to create a new file format (*.kit files) and use a custom plugin to Qt Creator to add the kit when you double-clicked on the .kit file.
      The only place I could find that programmatically adds kits to Qt Creator is the MaintenanceTool, it doesn't create .kit files but it communicates via files, that either instruct Qt Creator to remove a kit or add a new one.
      I started to research how the MaintenanceTool writes those files but never got far enough.
      Perhaps if you have some time, you could try to reverse engineer how MaintenanceTool does its magic kit manipulations :-)

      1 Reply Last reply
      1
      • K Offline
        K Offline
        Kenz Dale
        wrote on last edited by
        #3

        Thanks for the response, I think your idea is a good one. I created a feature request and mentioned your suggested .kit approach: https://bugreports.qt.io/projects/QTCREATORBUG/issues/QTCREATORBUG-26718?filter=allopenissues

        Alas, I have neither the time nor knowledge to address this. It's primary purpose for us will be lowering the barrier to entry for new developers who would like to contribute to our open-source project. It will ultimately be more productive for us to document how to set up Qt Creator, even if it is a click-o-rama to get all the kits into place.

        1 Reply Last reply
        0
        • hskoglundH Online
          hskoglundH Online
          hskoglund
          wrote on last edited by
          #4

          I found my post on this subject from the Qt Creator mailing list last year: https://www.mail-archive.com/qt-creator@qt-project.org/msg08218.htm where Robert asked if I could create a suggestion for it.
          I was too lazy to do it, but now it's there, thanks to you :-)

          1 Reply Last reply
          0
          • K Offline
            K Offline
            Kenz Dale
            wrote on last edited by
            #5

            The plot thickens: https://bugreports.qt.io/browse/QTCREATORBUG-26718?focusedCommentId=601865&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-601865

            sdktool is a promising lead, now to find out how to properly format the command.

            1 Reply Last reply
            0
            • hskoglundH Online
              hskoglundH Online
              hskoglund
              wrote on last edited by
              #6

              I remember seeing sdktool in the installation log that the MaintenanceTool writes in ~/Qt. if you grep the log you'll find entries like this one:

              ...
              ...
              /Users/henry/Qt///Qt Creator.app/Contents/Resources/libexec/sdktool" started, arguments: "addKit --id qt.qt6.622.clang_64_kit --name Qt %{Qt:Version} for macOS --Ctoolchain x86-macos-generic-mach_o-64bit --Cxxtoolchain x86-macos-generic-mach_o-64bit --qt qt.qt6.622.clang_64 --debuggerengine 256 --devicetype Desktop
              ...
              ...
              

              That should give some hints how to use that sdktool, also you can type
              ./sdktool --help addKit or
              ./sdktool --help rmKit

              1 Reply Last reply
              0
              • K Offline
                K Offline
                Kenz Dale
                wrote on last edited by
                #7

                Good tip to check the installation log.

                It's unclear to me if the ID matters in any way. It doesn't look impossible to generate my own ID based on how the autogenerated one looks. An outstanding question I have is what purpose does the ID serve and what will happen if I get it wrong?

                1 Reply Last reply
                0
                • hskoglundH Online
                  hskoglundH Online
                  hskoglund
                  wrote on last edited by
                  #8

                  Hi re. --id:
                  I looked a bit more in the installation log, it seems that before every sdktool addKit... there's a sdktool addQt... command with the same --id value.
                  Makes sense, it follows the same logic as when you add a kit manually, i.e. first you have to add a Qt version (stating where the qmake .elf file is) and then you can a kit using that new Qt version.
                  So re. the --id value, I think you can use any text you want as long as you issue the sdktool addQt and sdkTool addKit commands with the same --id.

                  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