Skip to contentSkip to conversation

Configuring QMake project issue

Buildroot Yegor Yefremov 2 participants 2 messages Oct 25, 2011

lore
Share & tools
lore
#0 lore raw

Hi Thomas,

I followed your instructions on how to integrate own small project into BR. This is Qt project based on a *.pro file. My *.mk looks like this:

VSGUITEST_VERSION = 1.0
VSGUITEST_SITE_METHOD = local

define VSGUITEST_EXTRACT_CMDS

        cp -a $(TOPDIR)/package/vscom/vsguitest/src/* $(@D)/

endef

define VSGUITEST_CONFIGURE_CMDS

        $(QT_QMAKE) $(@D)/vsguitest.pro

endef

define VSGUITEST_BUILD_CMDS

        $(MAKE) -C $(@D) all

endef

$(eval $(call GENTARGETS))

The vsguitest.pro looks like this:

HEADERS             = \
    vstestgui.h \
    vsserialtest.h \
    vsnetworktest.h
SOURCES             = main.cpp \
    vstestgui.cpp \
    vsserialtest.cpp \
    vsnetworktest.cpp

LIBS += -lSerialPort -lQtNetwork

My problem is, that after source code copy qmake generates Makefile directly in BR's root and overwrites the main Makefile. With QSerialDevice I haven't experienced such problems. What can I do about this?

Regards,
Yegor

P.S. what about adding QMake project type in addition to CMake type?

#1 lore raw

Le Tue, 25 Oct 2011 09:29:37 +0200,
Yegor Yefremov <[email protected]> a ?crit :

Quoted 10 lines

I followed your instructions on how to integrate own small project into BR. This is Qt project based on a *.pro file. My *.mk looks like this:

VSGUITEST_VERSION = 1.0
VSGUITEST_SITE_METHOD = local

define VSGUITEST_EXTRACT_CMDS

        cp -a $(TOPDIR)/package/vscom/vsguitest/src/* $(@D)/

endef

If you use _SITE_METHOD = local, then you don't need the custom _EXTRACT_CMDS.

Just do:

_SITE_METHOD = local
_SITE = $(TOPDIR)/package/vscom/vsguitest/src/

Quoted 3 lines

define VSGUITEST_CONFIGURE_CMDS

        $(QT_QMAKE) $(@D)/vsguitest.pro

endef

This should be:

	(cd $(@D); $(QT_QMAKE) vsguitest.pro)

otherwise:

Quoted 4 lines

My problem is, that after source code copy qmake generates Makefile directly in BR's root and overwrites the main Makefile. With QSerialDevice I haven't experienced such problems. What can I do about this?

This is because in your _CONFIGURE_CMDS, qmake gets executed inside the Buildroot top directory.

Quoted 1 line

P.S. what about adding QMake project type in addition to CMake type?

So far, we don't have any package using Qmake inside the tree, which is why we don't have a package infrastructure for them. So either we could document how to create Qmake package (which is quite easy), or we could add a package infrastructure for them.

Regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com