Я пытаюсь упаковать набор инструментов командной строки (и некоторые дополнительные файлы данных) в установщик OS / X. Когда инсталлятор работает, он должен установить / скопировать инструменты командной строки и настроить переменную PATH (или что бы это ни значило, чтобы сделать инструменты доступными). Я использую суперкомпонованную структуру, и после сборки, и все готово, я получаю очень простую структуру:
install
|
|\-bin
| |\-bjpaprog
| |\-bjpaserver
| |\-bootloader_client
| \-—create_package
|
\--firmware
|\-bootloader.tfp
|\-firmware.tfp
\-—softdevice.tfp
Я использую TGZ и productbuild в качестве генераторов CPack. Сгенерированный zip-файл содержит все файлы, указанные выше. Сгенерированные файлы pkg просто запускают установщик, но ничего не делают.
CMakeLists.txt для упаковки выглядит в основном так:
cmake_minimum_required(VERSION 3.14)
set(CPACK_PACKAGE_VENDOR "Torrox GmbH & Co KG")
install(DIRECTORY ${INSTALL_DIR}/bin DESTINATION .)
install(DIRECTORY ${INSTALL_DIR}/firmware DESTINATION .)
set(CPACK_GENERATOR TGZ productbuild)
include(CPack)