I'm currently struggling to get a sub folder of my project to copy to the out directory. I had thought i had it all set up correctly but i guess i'm missing a step. When I run the make i get a "No rule to make target 'copyfiles'" message.
I know I could just make a new build step with a OS specific method, but i was hoping to avoid it cause I would like to build and run on a different OS eventually.
Edit: Yes this question has been asked before. However the solutions given in those questions have not worked for me. They throw errors or simply do nothing.
CONFIG(release, debug|release): DESTDIR = $$OUT_PWD/release
CONFIG(debug, debug|release): DESTDIR = $$OUT_PWD/debug
copytarget.path = $$DESTDIR/etc
copytarget.files += $$files(etc/*)
## === os specific dir separator ===
win32 {
copytarget.files ~= s,/,\\,g
copytarget.path ~= s,/,\\,g
}
message("found files for copytarget: "$$copytarget.files)
message("found files destination: "$$copytarget.path)
## === copy compiler for makefile ===
DirSep = /
win32: DirSep = \\
for(f,copytarget.files) tmp += $$PWD$$DirSep$${f} ## make absolute paths
copycompiler.input = tmp
isEmpty(DESTDIR):DESTDIR=.
copycompiler.output = $$DESTDIR$$DirSep${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
copycompiler.commands = $(COPY_FILE) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
copycompiler.CONFIG = no_link no_clean
## other CONFIG options are: depends explicit_dependencies target_predeps
copycompiler.variable_out = QMAKE_DISTCLEAN
QMAKE_EXTRA_COMPILERS += copycompiler
## == makefile copy target ===
copyfiles.recurse_target = compiler_copycompiler_make_all
copyfiles.depends = $$copyfiles.recurse_target
copyfiles.CONFIG += recursive
MAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles ## copy files after source compilation
INSTALLS += copytarget