Давайте посмотрим на одну из функций с открытым исходным кодом. Если вы хотите узнать, как это развертывается, загрузите пару похожих проектов с открытым исходным кодом и извлеките у них урок. Итак, найдите тот, который похож на ваш, и изучите его источники.
Почему это должно помочь? Дело в том, что проекты с открытым исходным кодом должны иметь возможность легко строиться на машинах пользователей . В противном случае никто не сможет им помочь. Поэтому вся необходимая информация о том, как их следует развертывать, обычно включается в файлы INSTALL
или README
с исходными кодами, которые вы загрузили. Обычно они состоят из нескольких простых шагов. С той же целью автоматизируется проверка наличия и версий предварительных требований (в сценариях configure
), а иногда такие сценарии даже помогают в их установке.
Обычно ожидается что-то вроде
# Download sources (this line is read from your website)
wget http://myapp.org/myapp-source-2.15.tgz
tar -xzf myapp-source-2.15.tgz
cd myapp-2.15
less INSTALL
# read INSTALL file, where instructions about installing prerequisites are
./configure --help
# Read help, learn about possible options
./configure --prefix=/install/here --without-sound
make
make install
. В настоящее время некоторые приложения используют cmake вместо autotools (материал со сценарием configure
).
Я сомневаюсь, что проекты Linux действительно требуют NetBeans в качестве системы сборки - это было бы излишним. Но эта IDE, похоже, генерирует файлы сборки, так что отправьте их. Для удобства вы также можете зафиксировать файлы porject, специфичные для IDE, в репозитории, но это не должно быть основным способом создания вашего программного обеспечения.
Есть еще кое-что, что пользователи ожидают найти в вашем пакете:
ЛИЦЕНЗИИ
файл и в начале каждого исходного файла) Вы можете начать с http://llvm.org/docs/DeveloperPolicy.html и http://llvm.org/docs/CodingStandards.html. Проект LLVM - очень хорошо организованный проект с открытым исходным кодом.
.Поскольку вы, кажется, пишете приложения для Linux, вам, возможно, захочется взглянуть на такие автоинструменты GNU, как autoconf . На самом деле есть хорошая книга о них, и они справятся с большинством проблем с зависимостями для вас.
] Я рекомендую это: []http://producingoss.com/[][
] []Эта книга объясняет большинство распространенных процедур, а также множество социальных вещей, например, как справляться со спонсорами [
].] Что вам нужно, так это build-system++[
] []Если вы разрабатываете для POSIX (linux) платформ или работаете только с MingW под Win32, то я бы посоветовал вам научиться работать с autotools -- autoconf/automake/libtool и друзьями.[
] []Это дает вам, упаковку исходного кода, настройку, тестирование, установку. Они предназначены для разработчиков дистрибутивов (deb/rpm).[
] []У них довольно крутая кривая обучения, но они очень мощные инструменты для этих задач.[
] []Однако, если вы хотите поддержать компилятор MSVC, я бы посоветовал взглянуть на CMake, IMHO он менее мощный и требует гораздо больше написания, но он вам понадобится для Windows со всеми проблемами dllexport/импорта (или, говоря менее мягкими словами -- дерьмо).[
] []Это то, что вы ищите.[
].