Как стать автором
Обновить

Сборка Colobot Gold

Время на прочтение3 мин
Количество просмотров4.6K
Всё большую популярность набирает компьютерная игра для программистов Colobot Gold. О ней не раз писали на хабре, но материал со временем устаревает. Происходит активное развитие программы. И у многих пользователей возникает желание попробовать новейшие возможности Colobot Gold. Так, один мой знакомый прочитал про новый тип роботов, которого ещё нет в официальной master версии и попросил меня написать эту инструкцию по сборке исполяемого файла из исходников Colobot Gold.

Сборка возможна на различные платформы, но проще всего реализуется на дистрибутивах Linux, Например, на Ubuntu 20.

В разработке Colobot участия я никогда не принимал. Однако меня не страшит идея скачать исходный код, разобрать его, скомпилировать и запустить. Цель этой статьи помочь и вам преодолеть собственный страх проделать то же самое.

Пару вводных о процессе сборки, то есть о процессе получения исполяемого файла. Исходный код программы 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. Сдаётся мне, что эта задача — посильный урок новичкам, кто начинает свой путь в мире автоматизации, написания скриптов.
Теги:
Хабы:
Всего голосов 4: ↑1 и ↓30
Комментарии5

Публикации

Истории

Работа

QT разработчик
3 вакансии
Программист C++
104 вакансии

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань