Собираем Zandronum самостоятельно под OS X Mountain Lion

В этой статье я расскажу как скомпилировать Zandronum под Apple OS X с нуля. Для написания статьи будет использоваться виртуальная машина с чистой, но настроенной MacOS 10.8.5 с 4 Гб оперативной памяти и 4 процессорными ядрами. Создаваемые программы смогут выполняться на любой версии MacOS с 10.6 по 10.10 включительно. Создайте ссылку на "Терминал" в Dock - мы будем часто им пользоваться; приложение находится по адресу /Applications/Utilities/Terminal.app).

Разделим процесс на 4 этапа:
1) Скачивание необходимых сред разработки, утилит и библиотек
2) Конфигурирование среды сборки, установка библиотек
3) Получение исходного кода
4) Компиляция исходного кода

При повторной сборке переходите сразу к п. 3.

1. Файлы для скачивания

1. Apple Xcode 4.6.3: авторизуйтесь своим Apple ID и скачайте dmg образ (размер 1.72 Гб)

2. Command Line Tools для Xcode 4.6.2 - размер 113 Мб
2. FMOD Ex Programmers API 4.26.36 - звуковая библиотека. Более новые версии не поддерживаются.
3. CMake 3.2.2 - программа для конфигурации сборки исходного кода под вашу систему.
4. SDL 1.2.15 (с архитектурами i386, x86_64) - мультимедийная библиотека

5. GLEW 1.12.0 - OpenGL библиотека

2. Установка программ

1. Получение root доступа. Задайте пароль для своего аккаунта (Системные настройки - Учётные записи - Сменить пароль). Выполните команду 'sudo su' в терминале и введите свой пароль - вы окажетесь в root шелле. Выполните команду 'passwd root' и задайте пароль для суперпользователя. Теперь вы сможете получать root доступ командой su. Необходимо оставить пароль на пользователе для ум Чтобы заходить в root шелл без пароля - выполните от имени root команду 'EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit visudo', добавьте в конец файла строку '%staff ALL=(ALL:ALL) NOPASSWD:ALL', сохраните его и закройте редактор. После этого можно заходить в root шелл без пароля командой sudo su
2. Откройте установленный Xcode и согласитесь с EULA. Установите предложенное обновление Device Support.
3. Установите Command Line Tools для Xcode, приняв недействительный сертификат.
4. Установите программу для загрузки исходных кодов Zandronum. Выполните команды из root шелла:
easy_install pip
pip install mercurial
5. Установите CMake. Запустите его из root шелла:
/Applications/CMake.app/Contents/MacOS/CMake
Выберите пункт меню Tools - Install For Command Line Use. В поле Install Forder введите /usr/local/bin и нажмите Install Command Line Links
6
.
Установите FMOD Ex.

7. Подключите образ SDL. Скопируйте папку SDL.Framework в /Library/Frameworks
8. Установите библиотеку GLEW, перейдя в каталог со скаченным архивом:

tar xf glew-1.12.0.tgz && cd glew-1.12.0
make CFLAGS.EXTRA="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -mmacosx-version-min=10.7 -arch i386 -arch x86_64" LDFLAGS.EXTRA="-arch i386 -arch x86_64" STRIP= GLEW_PREFIX=/usr/local GLEW_DEST=/usr/local
strip -x lib/libGLEW.1.12.0.dylib lib/libGLEWmx.1.12.0.dylib

sudo make install.all GLEW_PREFIX=/usr/local GLEW_DEST=/usr/local

 

3. Получение исходного кода

1. Скачайте и распакуйте SQLite Amalgamation 3.8.9 - библиотеку баз данных
2. Чтобы скачать последний снапшот исходного кода, откройте терминал и перейдите в нужный каталог. Выполните команду:
hg clone https://bitbucket.org/Torr_Samaho/zandronum
Исходники скачаются в подкаталог 'zandronum'.
3. При желании вы можете скачать стабильную версию. Перейдите на закладку "Tags", найдите нужную версию и скачайте её в виде bz2 архива. Распакуйте архив в нужный каталог.
4. Чтобы обновить имеющуюся копию исходников, выполните команду из каталога с исходниками:
hg update

4. Компиляция исходного кода
1. Откройте терминал и перейдите в каталог со скаченными исходниками zandronum.
2. Установите библиотеку баз данных:
cp ~/Downloads/sqlite-amalgamation-3080900/* sqlite/
3. Создайте 32-битную сборку порта. Для этого выполните команды:
 
mkdir release && cd release

cmake -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_OSX_ARCHITECTURES=i386 ..

make

cd ..

3) Скопируйте необходимую динамическую библиотеку:
  

cp -f /Developer/FMOD\ Programmers\ API\ Mac/api/lib/libfmodex.dylib .

4) В текущем каталоге будут все необходимые для игры файлы:

  • zandronum
  • zandronum.pk3
  • skulltag_actors.pk3
  • brightmaps.pk3
  • libfmodex.dylib
  • Выполните ./zandronum чтобы проверить работоспособность сборки.