Seite 1 von 1

qmake installs variable

Verfasst: 17. November 2006 05:59
von joebar
Hi,

http://doc.trolltech.com/4.2/qmake-vari ... l#installs

beschreibt die Installs Variable, leider nur sehr duenn, habe da so mein Problem. Ich moechte mein Executable in ein bestimmtes Verzeichnis installieren, aber nur nach "make install" und nicht mit "make". DESTDIR kopiert das Programm leider schon bei "make", ich will es aber erst mit "make install". Kann ich dass mit der installs Variable erreichen? Mir ist nicht ganz klar was dieses target.path ist, wegen dem += wuerde ich anehmen es kann eine Liste sein, was aber fuer meine Zwecke keinen Sinn macht. Wo kann ich was zu target.path finden?

Danke,
J.

Verfasst: 20. November 2006 19:08
von andiK
Hallo J.

bei mir klappts prima, siehe Auszug aus meinem .pro file.

Code: Alles auswählen

    documentation.path = /usr/share/doc/HTML/en/linviex
    documentation.files = documentation/*

    icons.path = /usr/share/apps/linviex/icons
    icons.files = icons/*

    bin.path = /usr/bin
    bin.files = linviex

INSTALLS += documentation icons bin 

Unter z.B. bin.path gibt man das Zielverzeichnis an, in das die Dateien installiert werden und unter bin.files stehen dann die Dateien die in das Zielverzeichnis installiert werden sollen.

Hinter INSTALLS += steht dann eine Liste aller Verzeichnisse die installiert werden sollen.

Viel Spass beim ausprobieren,

Andi

Verfasst: 22. November 2006 08:07
von joebar
Klappt nicht so ganz. Mein pro File sieht erstmal so aus:

Code: Alles auswählen

######################################################################
# Automatically generated by qmake (2.00a) Fri Nov 17 06:10:08 2006
######################################################################

TEMPLATE = subdirs
TARGET += 
DEPENDPATH += . callintegrator initcall
INCLUDEPATH += . callintegrator
SUBDIRS = callintegrator initcall

# Input
HEADERS += callintegrator/callintegrator.h
FORMS += callintegrator/callintegrator.ui
SOURCES += callintegrator/main.cpp \
           initcall/initcall.cpp \
           callintegrator/callintegrator.cpp
Habe jetzt

Code: Alles auswählen

bin.path = /usr/local/bin
bin.files ./initcall/initcall ./callintegrator/callintegrator
hinzugefuegt. Ist immer nur ein "Nothing to be done for install". Einfuegen in den pro Files in den Unterverzeichnissen bringt das gleiche Resultat. Noch eine Idee?

Verfasst: 22. November 2006 08:51
von andiK
Probiers mal mit

Code: Alles auswählen

bin.path = /usr/local/bin
bin.files += ./initcall/initcall ./callintegrator/callintegrator 

INSTALLS += bin

cheers,

Andi

Verfasst: 24. November 2006 17:54
von joebar
Klappt leider auch nicht