Сборка Colobot Gold


Всё большую популярность набирает компьютерная игра для программистов Colobot Gold. О ней не раз писали на хабре, но материал со временем устаревает. Происходит активное развитие программы. И у многих пользователей возникает желание попробовать новейшие возможности Colobot Gold. Так, один мой знакомый прочитал про новый тип роботов, которого ещё нет в официальной master версии и попросил меня написать эту инструкцию по сборке исполяемого файла из исходников 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. Сдаётся мне, что эта задача — посильный урок новичкам, кто начинает свой путь в мире автоматизации, написания скриптов.




К сожалению, не доступен сервер mySQL