Я бегу проект, который имеет следующую структуру:CMake fixup_bundle для нескольких исполняемых файлов
root/
---Applications/
---Application1/
---Application2/
---Modules/
---Library1/
---Library2/
До сих пор, все создание проекта и увязка работ отлично на обеих машинах Windows, и Linux, используя в качестве зависимостей Qt5 и OpenCV. Все полученные файлы должны быть скопированы в окончательный путь установки:
INSTALL_DIR/
---bin/ #(for runtime)
---include/ #(for .h files)
---lib/ #(for lib files)
Проблемы начинаются, когда я хочу, чтобы создать распространяемый пакет. мне удалось создать сценарий для каждого приложения:
include("${CMAKE_ROOT}/Modules/BundleUtilities.cmake")
fixup_bundle("@[email protected]" "@[email protected]" "@[email protected]")
Таким образом, к сожалению, fixup_bundle называется так много, как число моих приложений, и это занимает много времени, особенно под Windows.
Как создать уникальный скрипт установки, который выполняет только после fixup_bundle?
Заранее спасибо
Я смущен о том, какое поведение вы ожидаете. Если fixup_bundle должен создать отдельный комплект для каждого приложения, он должен сделать это для каждого приложения. Вы действительно компилируете большое количество приложений, которые необходимо изолировать? – Praxeolitic
Приложения имеют одинаковые зависимости, поэтому fixup_bundle также может запускать один раз, если это возможно, вместо нескольких раз. Я ошибаюсь? – madduci
Я думаю, что цель fixup_bundle - полностью изолировать приложения. Есть ли причина не просто иметь несколько исполняемых файлов в качестве целей? Таким образом, они могут совместно использовать ресурсы, например. библиотеки. – Praxeolitic