MS Windows из архива с исходным кодом

Предупреждение

Последняя версия Gwyddion, которую можно собрать используя MSVC6 – 2.22.

Система сборки Gwyddion под MS Windows использует компилятор Microsoft Visual C++ (MSVC) (рекомендованная версия 6, хотя она уже несколько устарела). Она в основном состоит из набора файлов сборки nmake, следовательно, компиляция осуществляется из командной строки. Это подход имеет ряд преимуществ в плане воспроизводимости и автоматизации процесса. Более того, он позволяет легко синхронизировать сборочные системы под Unix и MS Windows. Необходимость использования командной строки может считаться недостатком, хотя вам процесс сборки должен показаться достаточно простым даже если вы не работали много с командной строкой.

В дополнение к MSVC вам потребуется установить среду разработки Gtk+. Снова мы рекомендуем использовать пакет GladeWin32. Следует отметить, что он содержит полную среду времени исполнения, следовательно, вам не нужно устанавливать её, если вы установили версию для разработчика.

Распаковка

Распакуйте архив с исходным кодом своим любимым (раз)архиватором или файловым менеджером. Архивы, сжатые bzip2 (.bz2) значительно меньше, чем архивы gzip (.gz),

При распаковке будет создан каталог gwyddion-2.19 (2.19 заменяется номером текущей версии), где и будут происходить все остальные действия по компиляции.

Настройка

Откройте файл make.msc в текстовом редакторе. Он начинается примерно так:

# @(#) $Id: installation-ms-windows-source.xml 11692 2010-12-16 07:10:20Z dn2010 $
#
# XXX: Set following to your Gtk+-Development and MSVC paths
#
# The uncommented paths should work for default MSVC 6 installation and for
# default GladeWin32 installation.
# If you have GtkGLext separate from Gtk+, define GTKGLEXT_TOP accordingly.
# If you have LibXML2 separate from Gtk+, define LIBXML2_TOP accordingly.
GTK_TOP = C:\Gtk
GTKGLEXT_TOP = $(GTK_TOP)
LIBXML2_TOP = $(GTK_TOP)
#GTKGLEXT_TOP = C:\GtkGLExt\1.0
#LIBXML2_TOP = C:\libxml2
MSC_TOP = C:\Program Files\Microsoft Visual Studio\VC98

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

GTK_TOP
Должен указывать на каталог верхнего уровня установки Gtk+, т.е. на каталог, содержащий подкаталоги bin, lib, share, и т.п. Ниже мы будем ссылаться на его значение как $(GTK_TOP).
GTKGLEXT_TOP
Должен указывать на каталог верхнего уровня установки GtkGLExt. Он будет отличаться от $(GTK_TOP) только если вы не используете GladeWin32 и установили GtkGLExt отдельно.
LIBXML2_TOP
Должен указывать на каталог верхнего уровня установки LibXML2. Он будет отличаться от $(GTK_TOP) только если вы не используете GladeWin32 и установили LibXML2 отдельно.
MSC_TOP
Должен указывать на каталог верхнего уровня установки MSVC.

Запустите оболочку (коммандную строку, приглашение MS-DOS), перейдите в каталог с исходным кодом и запустите vcvars32.bat там. Этот пакетный исполняемый файл предоставлен MSVC и устанавливает определённые переменные окружения, которые нужны компилятору командной строки и компоновщику, также делает их исполняемыми напрямую устанавливая переменную PATH. Следует заметить, что vcvars32.bat может сама быть не в каталогах, включенных в PATH, но её должно быть легко найти.

Компиляция

Запустите

nmake -f makefile.msc

чтобы собрать Gwyddion и

nmake -f makefile.msc install

чтобы установить его во временный каталог, а именно подкаталог inst (создаваемый этой командой). Если что-то пошло не так и вы хотите запустить всё заново, сначала удалите каталог inst и файл inst.stamp для старта с нуля.

Установка

Внутреннее расположение временной области в каталоге inst точно такое же, как в конечной установке. Следовательно, можно также запустить Gwyddion прямо из неё (gwyddion.exe находится прямо в inst). Исключение составляет случай. если вы никогда не запускали Gwyddion ранее, при этом он не найдёт требующиеся библиотеки Gtk+ (DLL). Запустите regedit, создайте в

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\App Paths\Gwyddion.exe

строковый ключ Path и поместите туда $(GTK_TOP)\lib;$(GTK_TOP)\bin (здесь снова $(GTK_TOP) необходимо заменить соответствующим каталогом, установленным в make.msc, не надо писать туда «$(GTK_TOP)» буквально). Если вы отдельно устанавливали GtkGLExt и/или LibXML2, добавьте также их каталоги lib и bin, разделённые точками с запятой. Если вам нельзя редактировать глобальные ключи реестра в HKEY_LOCAL_MACHINE, установите пути в HKEY_CURRENT_USER только для текущего пользователя.

После этого можно как запустить Gwyddion из inst, так и скопировать каталог куда-то ещё, возможно переименовав его.

Системы установки

Чтобы создать программу установки вам нужен Inno Setup, версии 4 или новее. Откройте inst/gwyddion.iss и соберите установщик, он создаст Gwyddion-2.19.exe (где 2.19 заменится текущим номером версии) снова в inst. Можно повторить процедуру с inst/gwyddion-devel.iss чтобы получить Gwyddion-Development-2.19.exe, если он вам зачем-то понадобится.