Всё большую популярность набирает компьютерная игра для программистов Colobot Gold. О ней не раз писали на хабре, но материал со временем устаревает. Происходит активное развитие программы. И у многих пользователей возникает желание попробовать новейшие возможности Colobot Gold. Так, один мой знакомый прочитал про новый тип роботов, которого ещё нет в официальной master версии и попросил меня написать эту инструкцию по сборке исполяемого файла из исходников Colobot Gold.
Сборка возможна на различные платформы, но проще всего реализуется на дистрибутивах Linux, Например, на Ubuntu 20.
Пару вводных о процессе сборки, то есть о процессе получения исполяемого файла. Исходный код программы Colobot ссылкается на другие исходные коды, совершенно других проектов. Для того, чтобы собрать Colobot нам нужно подключить в систему соответствующие сторонние пакеты. Откроем консоль и пропишем
0)
1) Любители Visual Studio привыкли, что есть файл проекта, и при его открытии IDE подгружает все необходимые файлы. Но исторически значение имеет именно каталог с файлами. Интересно, что эту традицию сейчас поддерживает Eclipse: для открытия проекта вы должны сообщить путь к каталогу. Условимся дальнейшие манипуляции проводить в каталоге Загрузки. Для этого в консоли необходимо в этот каталог перейти:
Затем создадим базовый каталог для наших манипуляций, пусть ColobotBld. (Команда mkdir создаёт диалог с заданным именем). А также каталог, который впоследствии будет содержать непосредственно исполняемые файлы, пусть exe.
2) Воспользуемся модным нынче средством доставки (версий) исходного кода и запросим последнюю (dev) версию.
3) Видим, что в базовом каталоге ColobotBld появилась папка colobot. Перейдём в неё
4) Скачаем все подмодули
5) Создадим так называемый каталог сборки, пусть build. Таким образом у нас есть базовый каталог ColobotBld, в котором находятся каталоги colobot и exe. colobot, помимо исходников, теперь будет содержать папку build для сборки, то есть создания промежуточных файлов во время компиляции.
Соответственно компилировать нужно, находясь в папке build, так что перейдём в неё
6)
7) Далее укажем системе сборки откуда что брать: исходники из каталога colobot, а исполняемый файл класть в каталог exe. Я использую полные пути для избежания путаницы, оставлю здесь без изменений как пример, разумеется на вашей системе полные пути другие.
8) Далее сообщим утилите make где лежат исходные коды
9) Запустим сборку
10) Так как на шаге 7) мы указали куда складывать исполняемый файл, то следующий код это и сделает. Желающие могут оформить в пакет
Теперь заходим в папку exe/games и запускаем файл colobot.
11) Весёлое упражнение для тех, кто считает себя уже освоившимся в консоли Linux: перейдите в папку exe/games в консоли и запустите (из консоли) файл colobot!
Итак, мы успешно собрали из исходников игру для программистов Colobot Gold. Сдаётся мне, что эта задача — посильный урок новичкам, кто начинает свой путь в мире автоматизации, написания скриптов.
Сборка возможна на различные платформы, но проще всего реализуется на дистрибутивах Linux, Например, на Ubuntu 20.
Пару вводных о процессе сборки, то есть о процессе получения исполяемого файла. Исходный код программы Colobot ссылкается на другие исходные коды, совершенно других проектов. Для того, чтобы собрать Colobot нам нужно подключить в систему соответствующие сторонние пакеты. Откроем консоль и пропишем
0)
sudo apt-get install build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libphysfs-dev gettext git po4a vorbis-tools
1) Любители Visual Studio привыкли, что есть файл проекта, и при его открытии IDE подгружает все необходимые файлы. Но исторически значение имеет именно каталог с файлами. Интересно, что эту традицию сейчас поддерживает Eclipse: для открытия проекта вы должны сообщить путь к каталогу. Условимся дальнейшие манипуляции проводить в каталоге Загрузки. Для этого в консоли необходимо в этот каталог перейти:
cd Загрузки
Затем создадим базовый каталог для наших манипуляций, пусть ColobotBld. (Команда mkdir создаёт диалог с заданным именем). А также каталог, который впоследствии будет содержать непосредственно исполняемые файлы, пусть exe.
mkdir ColobotBld
cd ColobotBld
mkdir exe
2) Воспользуемся модным нынче средством доставки (версий) исходного кода и запросим последнюю (dev) версию.
git clone -b dev https://github.com/colobot/colobot.git
3) Видим, что в базовом каталоге ColobotBld появилась папка colobot. Перейдём в неё
cd colobot
4) Скачаем все подмодули
git submodule update --init
5) Создадим так называемый каталог сборки, пусть build. Таким образом у нас есть базовый каталог ColobotBld, в котором находятся каталоги colobot и exe. colobot, помимо исходников, теперь будет содержать папку build для сборки, то есть создания промежуточных файлов во время компиляции.
mkdir build
Соответственно компилировать нужно, находясь в папке build, так что перейдём в неё
6)
cd build
7) Далее укажем системе сборки откуда что брать: исходники из каталога colobot, а исполняемый файл класть в каталог exe. Я использую полные пути для избежания путаницы, оставлю здесь без изменений как пример, разумеется на вашей системе полные пути другие.
cmake /home/andrei/Загрузки/ColobotBld/colobot -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/andrei/Загрузки/ColobotBld/exe
8) Далее сообщим утилите make где лежат исходные коды
make /home/andrei/Загрузки/ColobotBld/colobot
9) Запустим сборку
make
10) Так как на шаге 7) мы указали куда складывать исполняемый файл, то следующий код это и сделает. Желающие могут оформить в пакет
make install
Теперь заходим в папку exe/games и запускаем файл colobot.
11) Весёлое упражнение для тех, кто считает себя уже освоившимся в консоли Linux: перейдите в папку exe/games в консоли и запустите (из консоли) файл colobot!
Итак, мы успешно собрали из исходников игру для программистов Colobot Gold. Сдаётся мне, что эта задача — посильный урок новичкам, кто начинает свой путь в мире автоматизации, написания скриптов.
alexsibtone
Добрый день. Немного сбивает с толку, что вы базовый каталог ColobotBld создали в папке Загрузки.
DungeonLords Автор
Прошу пояснить, какими этикетами это запрещено?
alexsibtone
Добрый день, ничем не запрещено. По умолчанию, при открытии консоли, последняя вас оставит в домашней папке /home/$USER — следуя командам из статьи, пути сборки будут просто иными.
Кому как — но всегда же хочется ввести команды и получить рабочий результат (даже тем у кого малый опыт работы с консолью linux).
DungeonLords Автор
Это очень ценное замечание, потому что ценность сего туториала как раз в его пригодности для копи-пастности. Я его пишу для новичков, которые делают свои первые шаги в консоли Linux. Я изменил пункт 1). Прошу Вас ознакомиться и высказать своё мнение.