/CQtDeployer

This project is used to deploy applications written using QML, qt or other С / С++ frameworks.

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

CQtDeployer cqtdeployer

cqtdeployer

Logo


Support the project

If you like what we do and it benefits you, you can support the project on the official page QuasarApp in Patreon

What is CQtDeployer

The CQtDeployer is application for extract all depends library of executable and create launch script for your application.

Key differences of this program:

  • Performance: this program deploys the application several times faster (up to 10 seconds)
  • Flexibility: this application's got flags that help you to configure the deployment for your or your project's needs
  • Crossdeploy: this application's support windows and linux distrebutives, This means that you can use it not only to deploy a project for your platform, but also to deploy a project on Linux for Windows and vice versa.
  • Fast create installers : Upon completion of the deployment, you will receive a self-contained installer of your distribution.

Supported platforms:

Support processors architectures:

  • x86
  • x86-64
  • ARM
  • ARM64

How to use

Example: cqtdeployer <-bin [params]> [options]

See list of all options here

Example: cqtdeployer -bin myApp -qmlDir ~/MyAppProject/qml -qmake ~/Qt/5.12.4/gcc_64/bin/qmake clear

More examples

Project structure after deploy:

 #linux
 cqtdeployer -bin Guitar  
 
 #windows
 cqtdeployer -bin Guitar.exe -qmake /path/to/qmake.exe

Project installer after deploy with the qif option.

 #linux
 cqtdeployer -bin Application qif
 
 #windows
 cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif

Project installer after deploy with the qif and qifStyle option.

 #linux
 cqtdeployer -bin Application qif -qifStyle quasar
 
 #windows
 cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle quasar

 #linux
 cqtdeployer -bin Application qif -qifStyle path/to/myStyle.css
 
 #windows
 cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle path/to/myStyle.css

Build for Linux

  • install qt and qt QtInstallFrameWork from qt installer
  • git clone https://github.com/QuasarApp/CQtDeployer.git
  • cd CQtDeployer
  • git submodule update --init --recursive
  • qmake -r
    • Here you must definitely call the qmake that was loaded from the 1st item.
    • Example: ~/Qt/5.14.0/gcc_64/bin/qmake -r
  • make -j$(nproc)
  • make deploy
    • #this command requires installed cqtdeployer
    • If you are building cqtdeployer using qt from your OS repository, use only the cqtdeployer installed from the github installer. The fact is that the snap package does not have access to system libraryes.
  • ./Distro/CQtDeployerInstaller.run

Build for Windows (CMD)

  • install qt and qt QtInstallFrameWork from qt installer
  • git clone https://github.com/QuasarApp/CQtDeployer.git
  • cd CQtDeployer
  • git submodule update --init --recursive
  • SET PATH=C:/Qt/Tools/mingw730_64/bin;%PATH%
    • It is important to set up the qt environment.
  • qmake.exe -r
    • Here you must definitely call the qmake that was loaded from the 1st item.
    • Example: C:/Qt/5.14.0/mingw73_64/bin/qmake.exe -r
  • migw32-make -j8
  • migw32-make deploy
  • ./Distro/CQtDeployerInstaller.exe

Install

You can download the latest version of the application here.

Snap

Get it from the Snap Store

Features of the snap version

The snap package does not have access to system libraries. This means deploySystem options will not work. This also means that if you manually specify libDir or extraLib, then libraries that are not in home will not be found. If these restrictions bother you, use the Installer classic version of the application.

If you are using the snap version of the application. Enable all permissions for cqtdeployer. this can be done in the snap-store Or starting with ubuntu 20.04 in the ubuntu application settings manager.

Projects using CQtDeployer:

Thanks




CQtDeployer - это приложение преднознаена для извлечения всех зависимых библиотек исполняемого файла и создания сценария запуска для вашего приложения.

Основные отличия этой программы:

  • Производительность - эта программа развертывает приложение в несколько раз быстрее (до 10 секунд)
  • Гибкость - это приложение имеет флаги, которые помогут вам настроить деплоинг под ваши нужды и нужды вашего проекта
  • Crossdeploy: приложение поддерживает Windows и дистрибутивы Linux, это означает, что вы можете использовать его не только для развертывания проекта для вашей платформы, но и для развертывания проекта в Linux для Windows и наоборот.
  • Быстрое создание установщиков. По завершении развертывания вы получите автономный установщик вашего дистрибутива.

Поддержите проект

Если вам нравится то, что мы делаем, и это приносит вам пользу, вы можете поддержать проект на официальной странице QuasarApp в Patreon

Поддерживаемые платформы:

Поддержка архитектур процессоров:

  • x86
  • x86-64
  • ARM
  • ARM64

Как использовать

пример : cqtdeployer <-bin [params]> [options]

Смотрите список всех опций здесь

пример: cqtdeployer -bin myApp -qmlDir ~/MyAppProject/qml -qmake ~/Qt/5.12.4/gcc_64/bin/qmake clear

Еще примеры

Стуктура проекта после развертывания:

 #linux
 cqtdeployer -bin Guitar  
 
 #windows
 cqtdeployer -bin Guitar.exe -qmake /path/to/qmake.exe

Установщик проекта после использования опции qif.

 #linux
 cqtdeployer -bin Application qif
 
 #windows
 cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif

Установщик проекта после использования опции qif c пользовательским стилем.

 #linux
 cqtdeployer -bin Application qif -qifStyle quasar
 
 #windows
 cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle quasar

 #linux
 cqtdeployer -bin Application qif -qifStyle path/to/myStyle.css
 
 #windows
 cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle path/to/myStyle.css

Build для Linux

  • установите qt и qt QtInstallFrameWork из Установщик qt
  • git clone https://github.com/QuasarApp/CQtDeployer.git
  • cd CQtDeployer
  • git submodule update --init --recursive
  • qmake -r
    • Здесь нужно обязательно вызвать тот qmake, который был загружен из 1го пункта.
    • Пример: ~/Qt/5.14.0/gcc_64/bin/qmake -r
  • make -j$(nproc)
  • make deploy
    • эта команда требует установленный cqtdeployer
    • Если вы собираете cqtdeployer, используя qt из своего репозитория ОС, используйте только cqtdeployer, установленный из установщика github. Дело в том, что пакет моментальных снимков не имеет доступа к системным библиотекам.
  • ./Distro/CQtDeployerInstaller.run

Build для Windows (CMD)

  • установите qt и qt QtInstallFrameWork из Установщик qt
  • git clone https://github.com/QuasarApp/CQtDeployer.git
  • cd CQtDeployer
  • git submodule update --init --recursive
  • SET PATH=C:/Qt/Tools/mingw730_64/bin;%PATH%
    • Здесь важно настроить окружение qt.
  • qmake.exe -r
    • Здесь нужно обязательно вызвать тот qmake, который был загружен из 1го пункта.
    • Пример: C:/Qt/5.14.0/mingw73_64/bin/qmake.exe -r
  • migw32-make -j8
  • migw32-make deploy
    • эта команда требует установленный cqtdeployer
  • ./Distro/CQtDeployerInstaller.exe

Snap

Загрузите из Snap Store

Особенности snap версии

В snap пакет не имеет доступ к системным библиотекам. Это значит что опции deploySystem не будут работать. Так же это значит что нсли вы в ручную укажите libDir или extraLib, то библиотеки находящиеся не в home не будут найдены. Если вам мешают эти ограничения используйте Установщик класической версии приложения.

Если вы используете snap версию приложения. Включите все разрешения для cqtdeployer. это можно сделать в snap-store Или начиная с ubuntu 20.04 в менеджере натроек приложений ubuntu.

Установить

Вы можете загрузить последнюю версию приложения здесь.

Проекты использующие CQtDeployer :

Благодарность

  • Большое спасибо Trail of Bits за их библиотеку pe-parser. Все работает отлично.