2010-08-17 2 views
2

Мне было интересно, был ли способ (например, commad) перемещать каталог, заполненный, скажем, файлами изображений, в каталог сборки с помощью cmake 2.8.cmake move directory

Заранее благодарен!

ответ

4

Команда file() может делать то, что вы хотите.

Из инструкции 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...]] [...]) 

The COPY подписи копирует файлы, каталоги и символические ссылки в пункт назначения раз относительно входных пути оцениваются по отношению к текущему каталогу источника, и относительное назначения оценивается с относительно текущего каталога сборки. Копирование сохраняет временные метки входных файлов и оптимизирует файл, если он существует в месте назначения с той же меткой времени. Копирование сохраняет разрешения на вход, если не указаны явные разрешения или NO_SOURCE_PERMISSIONS (по умолчанию используется USE_SOURCE_PERMISSIONS). См. Команду install (DIRECTORY) для документации разрешений, параметров PATTERN, REGEX и EXCLUDE.

Таким образом, вы бы что-то вроде (проверено):

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

Чтобы двигаться, вы можете использовать форму RENAME:

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

Но я не уверен, что вы хотели бы, что из-за источник больше не будет доступен для воспроизведения последовательности сборки, поэтому моя попытка ответить с помощью команды копирования выше.

Смежные вопросы