2014-06-19 6 views
22

ho visto che posso usare questo comando per copiare una directory con cmake:copia CMake tutti i file con estensione data alla directory di output

file(COPY "myDir" DESTINATION "myDestination") 

(da this post)

Il mio problema è che non voglio copiare tutto il myDir, ma solo i file .h che ci sono. Ho provato con

file(COPY "myDir/*.h" DESTINATION "myDestination") 

ma ottengo il seguente errore:

CMake Error at CMakeLists.txt:23 (file): 
    file COPY cannot find 
    "/full/path/to/myDIR/*.h". 

Come posso filtrare i file che voglio copiare una cartella di destinazione?

risposta

34

ho trovato la soluzione da me:

file(GLOB MY_PUBLIC_HEADERS 
    "myDir/*.h" 
) 
file(COPY ${MY_PUBLIC_HEADERS} DESTINATION myDestination) 
3

questo funziona anche per me:

install(DIRECTORY "myDir/" 
     DESTINATION "myDestination" 
     FILES_MATCHING PATTERN "*.h")