четверг, 3 февраля 2011 г.

Сборка Ogre 1.7.2 из исходников(Windows, Linux, MacOS X).




Полагаю, что наиболее правильным будет не выкачивание с официального сайта Ogre SDK(или установка соответствующих пакетов в Linux-системах), а сборка из исходников. Во-первых, это поможет в дальнейшей работа, так частенько бывает необходимо взглянуть на исходный код некоторых классов, а во-вторых иметь собственноручно настроенную систему всегда лучше, чем непонятно что "из коробки". Ogre использует CMake как систему сборки на всех поддерживаемых платформах. В этом руководстве будет объяснено как использовать CMake для сборки Ogre из исходников.


1. Что такое CMake?

CMake является кроссплатформенной системой сборки или, если говорить более точно программой для настройки вашего билда. Это программа, которая из набора скриптов CMake создает нативную сборку именно для вашей конкретной системе. Конечно же, CMake позволяет тонко настроить весь процесс сборки.

2. Как получить CMake

CMake вы можете получить с сайта http://www.cmake.org (Resources -> Downloads).
Вы можете скачать как исходники CMake, так и уже откомпилированные пакеты, которые доступны для многих платформ. Кроме того, если вы пользуетесь операционной системой Linux, то шанс, что в вашей системе CMake уже установлен достаточно велик. Обратите внивание, что для сборки Ogre необходма версия CMake 2.6 и выше.
Если вы хотите получить CMake в системе Ubuntu, то вам необходимо набрать в консоли следуещее:
> sudo apt-get install cmake-gui

3. Разрешение зависимостей

Для своей работы Ogre требует присутствия в системе библиотеки FreeType для работы со шрифтами, однако мы настоятельно рекомендуем вам инсталировать также некоторые другие библиотеки и программы. Вы можете получить эти программы в виде исходников либо же в виде откомпилированных пакетов пройдя по ссылкам, которые будут даны ниже. На официальном сайте Ogre предлагаются для загрузки уже откомпилированные пакеты(как по отдельности, так и в виде коммулятивного пакета): http://www.ogre3d.org/download/source/
Linux дистрибутивы обычно имеют возможность для установки всех зависимостей Ogre из репозиториев. В Ubuntu вы можете разрешить все зависимости одной командой:
> sudo apt-get install libfreetype6-dev libboost-date-time-dev libboost-thread-dev nvidia-cg-toolkit libfreeimage-dev zlib1g-dev libzzip-dev libois-dev libcppunit-dev doxygen libxt-dev libxaw7-dev libxxf86vm-dev libxrandr-dev libglu-dev

Обязательные для установки:
* freetype: http://www.freetype.org/
Библиотека, использующаяся для растеризации шрифтов и операций над ними.

Рекомендуемые для установки:
* Boost: http://www.boost.org/
Свободное собрание библиотек, расширяющих C++.

* Cg: http://developer.nvidia.com/object/cg_toolkit.html
Пакет для разработки на кросс-платформенном и мульти-GAPI языке для создания шейдеров Cg.

* DirectX SDK: http://msdn.microsoft.com/en-us/directx/
Комплект средств разработки для API DirectX.

* FreeImage: http://freeimage.sourceforge.net/
Cвободная библиотека для работы с многими графическими форматами.

* zlib: http://www.zlib.net/
Свободная кроссплатформенная библиотека для сжатия данных.

* zziplib: http://zziplib.sourceforge.net/
Свободная библиотека для работы с zip-архивами.

Не обязательные для установки:
* CppUnit: http://cppunit.sourceforge.net/
Свободная библиотека для модульного тестирования программ на С++. 


* Doxygen: http://doxygen.org/
Свободная система документирования исходных текстов.

* OIS: http://sourceforge.net/projects/wgois/
Свободная библиотека для работы с разнообразными устройствами ввода.

* POCO: http://pocoproject.org/
Свободная библиотека, которая упрощает и ускоряет разработку сетевых мультиплатформенных приложений на C++.

* TBB: http://www.threadingbuildingblocks.org/
Свободная библиотека для параллельного программировани на С++.

4. Подготовка к сборке

Вы должны создать каталог где-нибудь вне папки с исходниками Ogre. В этом каталоге CMake систему сборку для указанной платформы и компилятора, в этом же каталоге будут размещены откомпилированные библиотеки Ogre. Таким образом каталог с исходниками окажется нетронутым и вы сможете иметь несколько директорий с разными версиями сборок.

5. Запуск CMake

Теперь запустим программу cmake-gui либо набрав её имя в консоли, либо выбрав в меню "Пуск".  В поле "Where is the source code" укажите путь к каталогу с исходными текстами Ogre. В поле "Where to build the binaries" введите путь к каталогу, созданному в пункте 4.  Нажмите на кнопку "Configure". После этого появится диалоговое окно, в котором вы должны выбрать наиболее подходящий для вас компилятор и целевую платформу(доступны средства для кроссплатформенной компиляции. В unix-подобных опрационных системах вы, скорее всего, предпочтете использовать "Unix Makefiles", в случае использования Visual Studio выберите нужную версию компилятора и платформу(Win32 либо Win64). На MacOS X используйте XCode. После всех этих манипуляций нажмите на кнопку "Finish". После этого CMake проанализирует то окружение, в котором ей придется работать и попробует найти зависимости. Результаты этого анализа и поиска будут показаны вам в списке опций сборки. Вы можете изменять настройки так, как вам того захочется, например, снятие чекбокса напротив любой из опций OGRE_BUILD_XXX приведет к тому, что данный конкретный компонент будет исключен из сборки Ogre.  Когда вы будете довольны сделаными настройками, нажмите на кнопку "Configure" ещё раз, после чего нажмите на кнопку Generate. После этого CMake создаст для вас систему сборки.

Если вы получили сообщения об ошибках, гласящие о том, что что зависимости не найдены, хотя вы успешно установили или откомпилировали их из исходников(см. пункт 3), то вы можете указать CMake их расположение. На платформе Unix CMake обычно успешно определяет местоположение всех зависимостей(если, конечно, они не установлены в нестандартные директории). Если все библиотеки находятся в одном каталоге, то вы можете указать его, установив соответствующее значение в переменную OGRE_DEPENDENCIES_DIR. В противном случае вы можете указать каталог для каждой из зависимостей индивидуально. В этом случае нажмите на кнопку "Add entry", чтобы добавить новую переменную CMake, после чего установите её тип как 'PATH'. Имя переменной должно иметь вид  XXX_HOME, где XXX - имя пакета. Например, для ZLIB_HOME или ZZIP_HOME. Естесственно, значением переменной должен быть путь к каталогу, где установлена та или иная зависимость Ogre. После этого нажмите на кнопку 'Configure' ещё раз.  

6. Сборка Ogre

Перейдите в выбранный вами для сборки каталог. CMake уже создала для вас систему сборки, которую вы будете использовать для компиляции Ogre. Если вы используете Visual Studio, то в этом каталоге вы должны найти файл OGRE.sln. Откройте его и скомпилируйте весь проект целиком. Аналогично вы можете собрать проект на MacOS X, используя Xcode. Если вы пользуетесь утилитой make, то вам необходимо открыть консоль и перейти в выбранный вами для сборки каталог, а затем вызвать соответствющую утилиту:
> make
для начала процесса сборки.


7. Инсталяция Ogre

Возможно, после того, как сборка завершиться, вы захотите иметь её копию, потому что работать с установленной копией вашего билда будет куда удобнее и использовать Ogre в ваших проектах станет гораздо легче.  Для этого в Visual Studio выделите и соберите проект проект "INSTALL". Это приведет к созданию папки "sdk" внутри вашего каталога для сборки и копированию в неё всех требующихся библиотек. Для системы сборки, основанной на Makefiles наберите в консоли:
 > make install
или
> sudo make install
в зависимости от того, требуются ли привилегии суперпользователя.
В Linux-системах Ogre установится в каталог /usr/local. Вы можете изменить путь установки поменяв значение переменной CMAKE_INSTALL_PREFIX в CMake.

Комментариев нет:

Отправить комментарий