Как мне создать пакет 'install' для приложения Qt? - PullRequest
5 голосов
/ 27 января 2012

Обычно для установки пакета в используемой операционной системе на основе Linux

./configure
make 
make install

Как это работает? И как мне создать пакет, который можно установить таким образом?

Мое приложение использует инфраструктуру Qt, и я думаю, что я стремлюсь к чему-то вроде «MyPackage.tar.gz»

Ответы [ 3 ]

3 голосов
/ 27 января 2012

Вы можете создать пакет debian из ваших проектов. Как я понял, вы хотите создать пакет, предназначенный для распространения, поэтому я бы предложил создать пакет debian из вашего проекта. Здесь представляет собой введение в систему Debian Packaging. В этой статье они в какой-то момент описывают, как создать файл «правил», который лежит в основе процесса сборки. Вот пример этого, который я обычно использую для своих проектов Qt / KDE:

#!/usr/bin/make -f
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.

#export DH_COMPAT=3
DESTDIR=$(CURDIR)/debian/project
TR_DIR=$(CURDIR)/debian/project/usr/share/qt4/translations

configure:
        qmake project.pro

clean:
        dh_testdir
        dh_testroot
        dh_clean

build:  configure
        dh_testdir
        lrelease translations/project_en.ts
        $(MAKE)

install: build
        mkdir -p $(TR_DIR)
        cp translations/project_en.qm $(TR_DIR)
        $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/project install
        dh_installdirs

binary-arch: build install
         dh_testdir
         dh_testroot
         dh_installmenu
         dh_link
         dh_strip
         dh_compress
         dh_fixperms
         dh_installdeb
         dh_shlibdeps
         dh_gencontrol
         dh_md5sums
         dh_builddeb

Обычно этого достаточно для небольших проектов.

2 голосов
/ 27 января 2012

configure обычно является частью системы сборки GNU (autotools), которая не используется в типичном проекте Qt. qmake используется вместо этого для генерации файла сборки и внутренне обрабатывает большинство задач, которые configure выполняет для не-qt проектов.

Типичный процесс установки сборки для приложения Qt:

qmake
make 
make install

Вы можете создать простой скрипт ./configure, который вызывает qmake, если вам нужно, чтобы имена команд были идентичными. Вы также можете использовать autotools с Qt, если вам это нужно, см., Например. Инструкции Qt Creator для автоинструментов

0 голосов
/ 27 января 2012

Qt часто используется с CMake, что я очень рекомендую. Один примечательный момент - это то, что он любит сборки из исходного кода.

Ваш скрипт настройки может быть

#!/bin/bash
(mkdir build; cd build; ccmake ..)

и make-файл может быть

#!/bin/bash
(cd build; make)
...