
                          #       #             #
   Фидонет редактор       #       #             #
                          #       #             #
             ###    ###   #    ####   ###    ####
            #   #  #   #  #   #   #  #   #  #   #
            #   #  #   #  #   #   #  #####  #   #
            #   #  #   #  #   #   #  #      #   #
             ####   ###    ##  ####   ###    ####
                #                                
            #   #   1.1.5               
             ###               ...на момент написания  
             
             
             --: ИНСТРУКЦИЯ ПО СБОРКЕ :--
             
  
1. Получение исходных кодов.

    Официальное дерево исходного кода расположено в репозитории github. 
Если вы не знакомы с git и процессом клонирования репозитория мы 
рекомендуем скачать последний исходный код напрямую из ветки master
репозитория. Перейдите на сайт https://github.com/golded-plus/golded-plus
для выбора предпочитаемого способа загрузки.

2. Способы установки.

    Существует несколько способов собрать исполняемые файлы из исходного
кода golded. Рекомендуемым и наиболее надежным способом является 
использование утилиты cmake, которая является универсальной, простой в 
использовании и кроссплатформенной.
    Второй (устаревший) способ описан в docs/building.txt и может быть
использован там, где нет возможности применить cmake. Он использует 
нативные инструменты сборки, зависящие от используемой операционной 
системы и архитектуры.

3. Предварительные требования.

    Конечно же, компилятор C++ и соответствующие библиотеки системы. 
Сборки обычно проверяются на gcc, clang и msvc с соответствующими SDK. 
    CMake в качестве системы сборки.
    Для unix-подобных систем понадобится библиотека ncurses, собранная
с поддержкой ABIv5 (ниже заметка по этому поводу).

4. Процесс сборки в CMake.
    
    Скопируйте golded3\mygolded.__h в golded3\mygolded.h и отредактируйте
по своему желанию (поставьте имя, адрес Фидонет, и.т.д. по желанию).
    Создайте отдельную папку и перейдите в нее:
        >   mkdir build && cd build
запустите cmake для генерации системы сборки и установки окружения:
        >   cmake -DCMAKE_BUILD_TYPE:STRING=Release ..
Опция "-DCMAKE_BUILD_TYPE:STRING=Release" устанавливает систему сборки 
на связывание с обычными библиотеками, так как отладочные версии этих
библиотек могут отсутствовать в целевой системе. Две точки .. указывают 
на путь к файлу CMakeLists.txt в корневой папке исходного кода.
    Приступаем непосредственно к сборке:
        >   cmake --build .
При необходимости добавьте "-j <потоков>" для параллельной компиляции на 
многопоточных многоядерных системах.
    После успешной сборки вы можете найти исполняемые файлы в 
соответствующих подкаталогах golded, rddt и goldnode, или, если добавить
к команде сборки опцию "-t package" - общим архивом в каталоге сборки.
    
5. Поддержка NCURSES ABI.

    Библиотека ncurses хорошо известна за долговременную поддержку,
но последний мажорный релиз ncurses внес значительные изменения в 
объектный интерфейс библиотеки - символы разных версий объединены в 
одном файле библиотеки. Новые ncurses могут быть собраны с поддержкой 
ABIv5 (что сделано в большинстве дистрибутивов), поэтому связывание с
libncursesw (в большинстве случаев) может считаться нормой.
Однако, если у вас ncurses6 собрана без поддержки ABIv5, возможно 
появление графических артефактов (порча текста) при скролле сообщений, 
поэтому мы рекомендуем найти пакет совместимости с libncurses.so.5 для 
сборки или собрать ncurses, совместимый с ABIv5 самостоятельно, для 
включения в пакет с golded.
    Мы работаем над этим.
    * В каталоге contrib размещены файлы PKGBUILD для Archlinux, которые
по-разному это реализуют - как с помощью сборки совместимого ncurses, так
и с зависимостью от пакета AUR ncurses5-compat-libs. Также используются 
разные системы сборки.
