[Qt-interest] qmake issue: getting rid of INSTALL_ROOT for install target

Mandeep Sandhu mandeepsandhu.chd at gmail.com
Tue Jun 22 10:23:14 CEST 2010


Hi All,

I have a simple .pro firle for my lib. Here's the relevant bit:

mylib.pro
========
include (common.pri)

TARGET = mylib
...
...
INSTALLPATH     = $$INSTALLDIR/$$TARGET
target.path     = $$INSTALLPATH/lib
headers.path    = $$INSTALLPATH/include
headers.files   = <header file names>

INSTALLS       += headers target


common.pri
==========
...
INSTALLDIR = /home/me/test/install

This generates a makefile which has a install rule, which is causing
me problems. I'm posting a snippet of the header install target:

install_headers: first FORCE
    @$(CHK_DIR_EXISTS)
$(INSTALL_ROOT)/home/me/test/mylib/src//home/me/test/install/include/
|| $(MKDIR) $(INSTALL_ROOT)/home/me/test/mylib/src//home/me/test/install/include/

This causes make to install stuff in the src dir (where Makefile is)
and NOT under /home/me/test/install!!!

Why does qmake prepend $(INSTALL_ROOT)/$(PWD) to the install target?
Is there a way to alter this behavior?

Basically I would like to use absolute paths for specifying my build
and install dirs. If I use relative paths then it's not a problem, but
then I have to prepend "../" each time I go into a subdir (which looks
messy and error prone).

Googling revealed a similar problem related long ago:
http://lists.trolltech.com/pipermail/qt-interest/2009-February/002009.html
(the associated issue reported -
http://bugreports.qt.nokia.com/browse/QTBUG-3650)

What are the other alternatives for using absolute paths for install
directive using .pro file (other than altering the makefile with some
external script)?

Any pointers will be appreciated.

Thanks,
-mandeep



More information about the Qt-interest-old mailing list