CMake / CPack: расположение сторонних библиотек в MacOS

Мы работаем над мультиплатформенным проектом C ++ GUI. У нас есть зависимости от некоторых сторонних библиотек (например, boost, fftwи т. д.), и они также поставляются и устанавливаются, поэтому нашим пользователям не нужно загружать дополнительные компоненты.

Прямо сейчас для сборки MacOS создается пакет приложений (MyProject.app). Мы используем PackageMaker CPack Генератор пакетов. Все необходимые сторонние зависимости устанавливаются в соответствии с MyProject.app/Contents/Frameworks,

Недавно мы завершили набор инструментов командной строки, которые мы хотели бы включить в наш установщик. Итак, мы будем устанавливать наш комплект, MyProject.app вдоль папки, скажем, Tools, включая наши новые утилиты командной строки.

Чтобы сделать вещи более интересными, наш пакет приложений состоит из некоторых компонентов графического интерфейса и ядра, и мы представляем каждый компонент и наши инструменты как разные CMake проекты (т. е. мы используем следующие CMake команды: project(gui_components), project(core_components) а также project(tools)). Наши инструменты зависят от основных компонентов, но не от компонентов графического интерфейса.

По сути, мы хотели бы иметь следующую структуру папок:

<install folder>
|
|--MyProject.app
|   |
|   |--<all MacOS bundle needed folders/files>
|
|--Tools/
|   |
|   |--ToolA
|   |--ToolB
|
|--lib/
|
|--libboost_regex
|--libfftw
|--libgui_components
|--libcore_components

Как я могу сказать CMake / CPack установить сторонние зависимости (в этом примере: libboost_regexа также libfftw) в lib папка? Они все еще устанавливаются под MyProject.app/Contents/Frameworks, Нам уже удалось установить собственный libgui_components а также libcore_components в lib папка.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]