2010-08-17 9 views
2

Je me demandais s'il y avait un moyen (comme une commade) de déplacer un répertoire rempli, disons, de fichiers image, vers le répertoire de construction en utilisant cmake 2.8.cmake déplacer le répertoire

Merci d'avance!

Répondre

4

La commande file() peut faire ce que vous voulez.

du manuel de CMake:

The file() command also provides COPY and INSTALL signatures: 

file(<COPY|INSTALL> files... DESTINATION <dir> 
    [FILE_PERMISSIONS permissions...] 
    [DIRECTORY_PERMISSIONS permissions...] 
    [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS] 
    [FILES_MATCHING] 
    [[PATTERN <pattern> | REGEX <regex>] 
    [EXCLUDE] [PERMISSIONS permissions...]] [...]) 

Les fichiers copies de signature de copie, répertoires et liens symboliques vers une destination plier les chemins d'entrée relatifs sont évalués par rapport au répertoire source de courant, et une destination relative est évaluée à l'aide par rapport au répertoire de construction actuel. La copie préserve les horodatages des fichiers d'entrée et optimise un fichier s'il existe à la destination avec le même horodatage. La copie conserve les droits d'entrée, sauf si des autorisations explicites ou NO_SOURCE_PERMISSIONS sont fournies (par défaut, USE_SOURCE_PERMISSIONS). Consultez la commande d'installation (DIRECTORY) pour la documentation des autorisations, des options PATTERN, REGEX et EXCLUDE.

Donc, vous auriez quelque chose comme (testé):

file(COPY ${YOUR_SRC_IMAGE_DIR} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/YourPreferedDestination) 

Pour vous déplacer, vous pouvez utiliser le formulaire RENAME:

file(RENAME ${YOUR_SRC_IMAGE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/PreferedDestination) 

Mais je ne suis pas sûr que vous voulez, parce que la source ne sera plus disponible pour reproduire la séquence de construction, d'où ma tentative de répondre avec la commande de copie ci-dessus.

Questions connexes