2011-05-11 16 views
5

En mi árbol de fuentes tengo un montón de recursos, quiero copiarlos con make install en mi ruta de destino definida. Como el árbol de recursos tiene muchos subdirectorios, quiero que qmake encuentre todos los archivos recursivamente.¿Cómo puedo usar qmake para copiar archivos recursivamente?

Traté:

resources.path = /target/path 
    resources.files += `find /path/to/resources` 
    INSTALLS += resources 

y:

resources.path = /target/path 
    resources.files += /path/to/resources/* 
    resources.files += /path/to/resources/*/* 
    resources.files += /path/to/resources/*/*/* 
    resources.files += /path/to/resources/*/*/*/* 
    INSTALLS += resources 

Ambos no tienen el resultado que esperaba.

Respuesta

1

Parece que los directorios se instalan con 'cp ​​-r -f', por lo que este hace el truco:

resources.path = /target/path 
resources.files += /path/to/resources/dir1 
resources.files += /path/to/resources/dir2 
resources.files += /path/to/resources/dir3 
resources.files += /path/to/resources/dirn # and so on... 
resources.files += /path/to/resources/* # don't forget the files in the root 
INSTALLS += resources 
+0

¿Ha intentado utilizar la función [archivos()] replace (http://doc.qt.io/qt-5/ qmake-function-reference.html # files-pattern-recursive-false) para enumerar los archivos? '$$ files (/ path/to/resources/*, true)' devuelve todos los archivos recursivamente en '/ path/to/resources'. –

3

lo he hecho así:

res.path = $$OUT_PWD/targetfolder 
res.files = sourcefolder 

INSTALLS += res 

esto sería copiar "wherever this qmake script is"/sourcefolder en buildfolder/"same sub folder on build dir"/targetfolder

por lo que tendría targetfolder/sourcefolder/"all other subfolders and files..."

Ejemplo:

#(My .pro file's dir) $$PWD = /mysources/ 
#(My Build dir)  $$OUT_PWD = /project_build/ 


extras.path = $$OUT_PWD 
extras.files += extras 
src.path = $$OUT_PWD 
src.files += src 

INSTALLS += extras src 

copiaría /mysources/extras-/project_build/extras y /mysources/src-/project_build/src

Cuestiones relacionadas