#qt #qmake
#qt #qmake
Вопрос:
Есть ли способ настроить установку для копирования всех файлов с заданным расширением, если эти файлы создаются во время сборки (поэтому они не существуют при запуске qmake)? То, что я пробовал, в основном это:
csmes.path = $$PATH_INSTALL_BIN
csmes.files = $$OUT_PWD/*.csmes
INSTALLS = csmes
но это не работает, правило, сгенерированное в makefile, неверно:
install_csmes: FORCE
@if not exist install_releasebin mkdir install_releasebin amp; if not exist install_releasebin exit 1
-$(QINSTALL) buld_folder*.csmes install_releasebin*.csmes
Я также пытался использовать опцию no_check_exist , но это работает только в том случае, если файлы явно перечислены, чего я действительно пытаюсь избежать.
Есть ли способ сделать это непосредственно в файле pro? Я могу найти какое-то обходное решение и запустить пользовательский скрипт во время установки, мне просто интересно, есть ли более простой способ.
Комментарии:
1. Вы пробовали
csmes.files = $$files($$OUT_PWD/*.csmes)
?2. Вы пытаетесь сделать это, вызывая системные команды из qmake? $$system(<команда>). Если вы используете Linux, используйте
find
.3. @JarMan:
$$files
будет выполняться при запуске qmake, поэтому файлы еще не существуют. Я все равно попробовал, но makefile точно такой же.4. «правило, сгенерированное в makefile, неверно» — Можете ли вы указать, что на самом деле является результатом? И что вы ожидаете от этого?
5. @JarMan Я отредактировал вопрос, чтобы добавить вывод makefile. Я не ожидаю, что это будет что-то конкретное, просто что-то, что является действительным правилом 🙂 Мне все равно, как qmake это делает, в этом смысл его использования в первую очередь…