All Projects → jurplel → Install Qt Action

jurplel / Install Qt Action

Licence: mit
Install Qt on your Github Actions workflows with just one simple action

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Install Qt Action

Gqrx
Software defined radio receiver powered by GNU Radio and Qt.
Stars: ✭ 1,934 (+1079.27%)
Mutual labels:  qt
Haruna
Open source video player built with Qt/QML and libmpv.
Stars: ✭ 147 (-10.37%)
Mutual labels:  qt
Downzemall
DownZemAll! is a download manager for Windows, MacOS and Linux
Stars: ✭ 157 (-4.27%)
Mutual labels:  qt
Gtkplatform
Run Qt applications using gtk+ as a windowing system.
Stars: ✭ 146 (-10.98%)
Mutual labels:  qt
Qtpdfium
Pdf Redening on Qt
Stars: ✭ 148 (-9.76%)
Mutual labels:  qt
Qtwebdriver
WebDriver implementation for Qt
Stars: ✭ 152 (-7.32%)
Mutual labels:  qt
Huggle3 Qt Lx
Huggle is an anti-vandalism tool for use on MediaWiki based projects
Stars: ✭ 143 (-12.8%)
Mutual labels:  qt
Qml Loaders
Loading animation implementations in QML
Stars: ✭ 158 (-3.66%)
Mutual labels:  qt
Sqlitestudio
A free, open source, multi-platform SQLite database manager.
Stars: ✭ 2,337 (+1325%)
Mutual labels:  qt
Edb Debugger
edb is a cross-platform AArch32/x86/x86-64 debugger.
Stars: ✭ 2,019 (+1131.1%)
Mutual labels:  qt
Openauto
AndroidAuto headunit emulator
Stars: ✭ 1,926 (+1074.39%)
Mutual labels:  qt
Qt Virt Manager
Qt Virtual machines manager
Stars: ✭ 146 (-10.98%)
Mutual labels:  qt
Keera Hails
Keera Hails: Haskell on Rails - Reactive Programming Framework for Interactive Haskell applications
Stars: ✭ 153 (-6.71%)
Mutual labels:  qt
Moneyguru
Future-aware personal finance application
Stars: ✭ 145 (-11.59%)
Mutual labels:  qt
Mini Cmake Qt
A minimal CMake template for Qt 5 & 6 projects
Stars: ✭ 156 (-4.88%)
Mutual labels:  qt
Examples
Repo containing example apps made with NodeGui and React NodeGui
Stars: ✭ 144 (-12.2%)
Mutual labels:  qt
Kshare
The free and open source and cross platform screen sharing software.
Stars: ✭ 151 (-7.93%)
Mutual labels:  qt
Porymap
Map editor for pokeemerald, pokefirered, and pokeruby
Stars: ✭ 164 (+0%)
Mutual labels:  qt
Qtcsv
Library for reading and writing csv-files in Qt.
Stars: ✭ 156 (-4.88%)
Mutual labels:  qt
Antimony
Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables
Stars: ✭ 1,902 (+1059.76%)
Mutual labels:  qt

install-qt-action

Installing Qt on Github Actions workflows manually is the worst.

You know what's easier than dealing with that? Just using this:

    - name: Install Qt
      uses: jurplel/[email protected]

All done.

Options

version

The desired version of Qt to install.

Default: 5.15.2 (Latest LTS at the time of writing)

host

This is the host platform of the Qt version you will be installing. It's unlikely that you will need to set this manually if you are just building.

For example, if you are building on Linux and targeting desktop, you would set host to linux. If you are building on Linux and targeting android, you would set host to linux also. The host platform is the platform that your application will build on, not its target platform.

Possible values: windows, mac, or linux

Defaults to the current platform it is being run on.

target

This is the target platform that you will be building for. You will want to set this if you are building for iOS or Android.

Please note that iOS builds are supported only on macOS hosts

Possible values: desktop, android, or ios

Default: desktop

arch

This is the target architecture that your program will be built for. This is only used for Windows and Android.

Linux x86 packages are not supported by this action. Qt does not offer pre-built Linux x86 packages. Please consider using your distro's repository or building it manually.

Possible values:

Windows: win64_msvc2017_64, win64_msvc2015_64, win32_msvc2015, win32_mingw53, win64_mingw73 or win64_mingw81

Android: android_x86, android_armv7

You can find a full list of architectures by checking the Updates.xml for your version/platform. For Qt 5.12.9 on windows: https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5129/Updates.xml

Default values:

Windows w/ Qt < 5.6: win64_msvc2013_64

Windows w/ Qt >= 5.6 && Qt < 5.9: win64_msvc2015_64

Windows w/ Qt >= 5.9 && Qt < 5.15: win64_msvc2017_64

Windows w/ Qt >= 5.15: win64_msvc2019_64

Android: android_armv7

dir

This is the directory prefix that Qt will be installed to.

For example, if you set dir to ${{ github.workspace }}/example/, your bin folder will be located at $GITHUB_WORKSPACE/example/Qt/5.12.9/(your_arch)/bin. When possible, access your Qt directory through the Qt5_DIR environment variable.

Default: $RUNNER_WORKSPACE (this is one folder above the starting directory)

install-deps

Whether or not to automatically install Qt dependencies on Linux (you probably want to leave this on).

Default: true

modules

List of additional addon modules to install, with each entry seperated by a space. If you need one of these, you'll know it.

Possible values: qtcharts, qtdatavis3d, qtpurchasing, qtvirtualkeyboard, qtwebengine, qtnetworkauth, qtwebglplugin, qtscript, debug_info, possibly others

Default: none

cached

If it is set to true, then Qt won't be downloaded, but the environment variables will be set, and essential build tools will be installed.

It can be used with actions/cache, for example:

- name: Cache Qt
  id: cache-qt
  uses: actions/[email protected]
  with:
    path: ../Qt
    key: ${{ runner.os }}-QtCache

- name: Install Qt
  uses: jurplel/[email protected]
  with:
    cached: ${{ steps.cache-qt.outputs.cache-hit }}

Default: false

setup-python

Set this to false if you want to skip using setup-python to find/download a valid python version. If you are on a self-hosted runner, you will probably need to set this to false because setup-python requires a very specific environment to work.

Default: true

tools

Qt "tools" to be installed. I would recommend looking at aqtinstall's instructions for this, as it is an experimental feature. Specify the tool name, tool version, and arch separated by commas, and separate multiple tools with spaces.

Example value: 'tools_ifw,4.0,qt.tools.ifw.40 tools_qtcreator,4.13.2-0,qt.tools.qtcreator'

set-env

Set this to false if you want to avoid setting environment variables for whatever reason.

Default: true

tools-only

Set this to true if you only want to install tools, and not Qt.

Default: false

aqtversion

Version of aqtinstall to use, given in the format used by pip, for example: ==0.7.1, >=0.7.1, ==0.7.*. This is intended to be used to troubleshoot any bugs that might be caused or fixed by certain versions of aqtinstall.

Default: ==1.1.3

py7zrversion

Version of py7zr in the same style as the aqtversion and intended to be used for the same purpose.

Default: ==0.14.0

extra

This input can be used to append arguments to the end of the aqtinstall command for any special purpose.

Example value: --external 7z

Example with all arguments

    - name: Install Qt
      uses: jurplel/[email protected]
      with:
        version: '5.15.2'
        host: 'windows'
        target: 'desktop'
        arch: 'win64_msvc2017_64'
        dir: '${{ github.workspace }}/example/'
        install-deps: 'true'
        modules: 'qtcharts qtwebengine'
        cached: 'false'
        setup-python: 'true'
        tools: 'tools_ifw,4.0,qt.tools.ifw.40 tools_qtcreator,4.13.2-0,qt.tools.qtcreator'
        set-env: 'false'
        tools-only: 'false'
        aqtversion: '==1.1.3'
        py7zrversion: '==0.14.0'
        extra: '--external 7z'

More info

The Qt bin directory is appended to your path environment variable. Qt5_DIR/Qt6_DIR is also set appropriately for cmake. In addition, QT_PLUGIN_PATH, QML2_IMPORT_PATH, PKG_CONFIG_PATH and LD_LIBRARY_PATH are set accordingly. IQTA_TOOLS is set to the "Tools" directory if tools are installed as wlel.

Big thanks to the aqtinstall developer for making this easy. Please go support miurahr, he did all of the hard work here (his liberapay).

This action is distributed under the MIT license.

By using this action, you agree to the terms of Qt's licensing. See Qt licensing and Licenses used by Qt.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].