Russian Qt Forum
Ноябрь 01, 2024, 21:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Mac OS X] QMAKE_BUNDLE_DATA не удаляет старые папки перед копированием  (Прочитано 2834 раз)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« : Июль 03, 2013, 13:28 »

Здравствуйте. Есть в .pro такой кусок:
Код:
macx {
    appresources.files += resources/translations
    appresources.files += resources/data
    appresources.path = Contents/Resources
    QMAKE_BUNDLE_DATA += appresources
}

Если папки translations и data отсутствуют в .app Contents/Resources, то всё копируется нормально. Но если они есть, то повторно копия не выполняется, хотя в makefile написано, что они должны удаляться перед копированием:
Код:
COPY_DIR      = cp -f -R
DEL_FILE      = rm -f

MedianXLOfflineTools.app/Contents/Resources/translations: /Users/svp/mxl_offline_tools/resources/translations
@$(CHK_DIR_EXISTS) MedianXLOfflineTools.app/Contents/Resources || $(MKDIR) MedianXLOfflineTools.app/Contents/Resources
@$(DEL_FILE) -r MedianXLOfflineTools.app/Contents/Resources/translations
@$(COPY_DIR) /Users/svp/mxl_offline_tools/resources/translations MedianXLOfflineTools.app/Contents/Resources/translations

MedianXLOfflineTools.app/Contents/Resources/data: /Users/svp/mxl_offline_tools/resources/data
@$(CHK_DIR_EXISTS) MedianXLOfflineTools.app/Contents/Resources || $(MKDIR) MedianXLOfflineTools.app/Contents/Resources
@$(DEL_FILE) -r MedianXLOfflineTools.app/Contents/Resources/data
@$(COPY_DIR) /Users/svp/mxl_offline_tools/resources/data MedianXLOfflineTools.app/Contents/Resources/data

Можно ли это как-то побороть? Копирование папок происходит до начала сборки, поэтому QMAKE_PRE_LINK и QMAKE_EXTRA_TARGETS не прокатят:
Код:
all: Makefile MedianXLOfflineTools.app/Contents/PkgInfo MedianXLOfflineTools.app/Contents/Resources/empty.lproj MedianXLOfflineTools.app/Contents/Info.plist MedianXLOfflineTools.app/Contents/Resources/icon.icns MedianXLOfflineTools.app/Contents/Resources/translations MedianXLOfflineTools.app/Contents/Resources/data MedianXLOfflineTools.app/Contents/Resources/locversion.plist $(TARGET)

Т.е. можно ли как-то вклиниться в этот 'all' в самом начале? Или как-то узнать папку сборки до вызова qmake (чтобы собирать проект скриптом)?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
twp
Гость
« Ответ #1 : Июль 18, 2013, 18:57 »

Возможно это (Pre-pre-build commands with qmake) поможет.
Раньше не смог кинуть поскольку с их сайтом были какие-то проблемы.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« Ответ #2 : Июль 18, 2013, 20:03 »

спасибо, попробую. кажется должно подойти.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 23.