Сценарий установки для простого инструмента командной строки c ++, учебник? - PullRequest
2 голосов
/ 03 мая 2011

Я работаю над простым инструментом командной строки на С ++.Половина как забавный процесс обучения, а половина для распространения среди друзей / коллег и т. Д.

Я предполагаю, что самый простой способ сделать его распространяемым - это просто упаковать исходный код с помощью установочного скрипта - может кто-нибудь указатьмне хороший учебник для настройки этого?Другими словами, что должен включать скрипт для компиляции программы, размещения файлов в надежных местах * и обеспечения ее запуска из любого каталога из командной строки?

    • НапримерЯ знаю, что скомпилированный двоичный файл должен находиться в / usr / local / bin /, но если я пишу и получаю доступ к текстовому файлу (например), куда он должен идти?Как насчет файла, в котором хранятся параметры / параметры конфигурации?

Я нахожусь на Mac OSX, так что это будет отправной точкой, но переносимость для Windows, Linux и т. Д.было бы здорово.

Ответы [ 2 ]

2 голосов
/ 03 мая 2011

Вы можете использовать CMake для создания кроссплатформенной системы сборки, и вы можете использовать ее CPack ( Wiki здесь ) для генерации только двоичного файлапакеты.Сначала вы создаете сценарий сборки, который запускается и устанавливается на каждой платформе (что делает CMake настолько простым, насколько можно ожидать).Затем вы запускаете CPack, чтобы сгенерировать пакет, который просто включает ваши двоичные файлы.

Есть хороший учебник, который охватывает базовый процесс cmake (включая команды установки) здесь .

Обычно CMake считается проще, чем autoconf (и имеет лучшую поддержку windows), но у каждого есть свои сильные стороны.

1 голос
/ 03 мая 2011

Не думайте, что пользователь, устанавливающий программу, имеет root-доступ. Запрашивайте или предоставьте параметр командной строки, например --install-prefix = / home / user / apps, чтобы указать, где установить.

I HATE программы, которые устанавливают дерьмо в / usr / local. Если вы сделаете это, вам лучше всего обернуть его в файл .rpm или .deb или любой другой пакет платформы, чтобы ваше приложение можно было полностью удалить.

Я бы предложил проверить autoconf

...