How to specify TARGET full path in QMAKE_POST_LINK?
-
To run post-processing tool with QMAKE_POST_LINK, I need to specify full path to the target file. The best I can do so far is
QMAKE_POST_LINK = Post-Process-Tool "$${DESTDIR}/$${TARGET}.exe"but I'm looking for generalized solution (output file can have different extensions)
Thanks in advance, -
Not sure if this is the best solution, but it might be enough for you:
QMAKE_POST_LINK = Post-Process-Tool $$shell_quote($${DESTDIR}/$${TARGET}$$join(TARGET_EXT,,.))Here I've used $$join so that the
.separator only appears if the file extension is non-empty.Also $$shell_quote may or may not be necessary if the path contains spaces, etc.
Cheers.
-
Unfortunately the above solution didn't work for me,
$${TARGET_EXT}appears empty.BTW, the entire concept of building full path to the output file "by hand" appears to be limited. For instance, with
TARGET=MyModuleandTEMPLATE=lib, the output file isMyModule.dllon Windows butlibMyModule.so.1.0.0on Linux, so simple concatenation just doesn't work.It has to be a better way to pickup complete full path to the target file.
QMAKE_RESOLVED_TARGETfrommkspecs/features/resolve_target.prfseems to be a good candidate, but I'm failing to extract its value: it appears empty when I try to use it inQMAKE_POST_LINK.Qt community, please advise. Inability to specify arguments for post link step becomes a (very unexpected) shortcoming of qmake system and blocks our entire project.