2016-12-13 2 views
2

Я пытаюсь перевести наше приложение Qt на CMake, а одной из целей является приложение OS X. Для его размещения требуется папка our.app/Contents/Resources. Я попытался добавить его с помощью свойств файла, но мне удалось только скопировать папку без ее содержимого. Как я могу скопировать его рекурсивно?CMake, пакет OS X, рекурсивно скопировать каталог в ресурсы

Вот что я делаю:

 
set (
    RES_SOURCES 
    ${SOURCE_ROOT}/data-folder 
) 
add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${SRC} ${RES_SOURCES}) 
SET_SOURCE_FILES_PROPERTIES(${RES_SOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) 

UPD: До сих пор кончались просто скопировать файлы в целевой директории с помощью execute_process, но он чувствует себя неправильно.

ответ

0

Используйте file(GLOB_RECURSE, чтобы собрать список файлов перед их копированием.

file(GLOB_RECURSE RES_SOURCES "${SOURCE_ROOT}/data-folder/*") 
add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${SRC} ${RES_SOURCES}) 
SET_SOURCE_FILES_PROPERTIES(${RES_SOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) 
+1

Проблема с этим состоит в том, что я получаю только файлы, а не путь к ним относительно 'данных-folder', таким образом, CMake пытается скопировать все эти файлы плоско в' папку Resources', но Мне нужно воссоздать ту же структуру папок, что и в каталоге 'data-folder'. – Ibolit

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