Hi all.

I need to use a custom target to build of external shared library *.so,
with a custom build system (e.g. using the NDK directly) and to link with.

I faced with a strange behavior of QMAKE_EXTRA_COMPILERS on Android,
which is that the qmake does not creates a "compiler_foo_" target in
the output Makefile for my target if the ANDROID_PACKAGE_SOURCE_DIR is
not set. So, the desired build step does not called at all. O_O

E.g. I have following rules in the *.pro file:

 ...
 android {

     foo.name = Foo compiler
     foo.input = FOO
     foo.output = FOO_PATH

     # Build command.
     foo.commands = (custom build command)

     # Custom additional cleanup targets.
     foo.clean += (custom cleanup command)

     foo.CONFIG += target_predeps

     QMAKE_EXTRA_COMPILERS += foo

     # Add the generated library into the resulting apk.
     ANDROID_EXTRA_LIBS = $$GST_MODULE_PATH

 }
 ...

In this case I see in Makefile following:

 ...
 compiler_foo_make_all:
 compiler_foo_clean:
    (set of custom cleanup commands)
 ...

But, if I try to add any not empty ANDROID_PACKAGE_SOURCE_DIR
to the *.pro file:

 ...
 android {
     ANDROID_PACKAGE_SOURCE_DIR = <any value>

     ....
     ....
 }
 ...

then the resulting Makefile contains all what need:

 ...
 OBJECTS       = <FOO_PATH> ...
 ...
 compiler_gst_make_all: <FOO_PATH>
 compiler_gst_clean:
     (set of custom cleanup commands)
 ...
 <FOO_PATH>: foo
     (set of custom build commands)
 ...

How can I fix it? Because in a real project I will to use
the QMAKE_EXTRA_COMPILERS in a 'static library' template project,
which does not contains any Android's java sources and so on.

BR,
Denis
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to