RiveSolutions SEO Spider
Сборка инсталлера
Для компилирования инсталлера надо загрузить и установить Qt Intaller Framework https://blog.qt.io/blog/2017/12/15/qt-installer-framework-3-0-2-released/
Затем задать новую системную переменную окружения IFW_BIN_DIR = *\Qt Installer Framework 3.0.2\bin
Сборка под OS Windows
Для того, чтобы успешно сгенерировать и забилдить проект, надо:
- Скачать deps.7z отсюда https://yadi.sk/d/I4qfKFy03TFN4g
- Распаковать архив в корень диска
D
так, чтобы все зависимости лежали по путиD:\\deps\
- Создать
СИСТЕМНУЮ
переменную окруженияSS_DEPS
со значениемd:\deps
- Добавить следующие переменные окружения в систему:
BOOST_LIBRARYDIR=%SS_DEPS%\boost\%SS_PLATFORM%\lib
BOOST_ROOT=%SS_DEPS%\boost
CMAKE_PREFIX_PATH=%SS_DEPS%\qt\msvc_2017_%SS_PLATFORM%
OPENSSL_ROOT_DIR=%SS_DEPS%\openssl\openssl_%SS_PLATFORM%
OPENSSL_INCLUDE_DIR=%SS_DEPS%\openssl\openssl_%SS_PLATFORM%\include
IFW_BIN_DIR=%SS_DEPS%\IFW\%SS_PLATFORM%\bin
- Добавить в PATH значения:
%SS_DEPS%\qt\msvc_2017_%SS_PLATFORM%\bin
%SS_DEPS%\qt\msvc_2017_%SS_PLATFORM%\plugins\platforms
%SS_DEPS%\icu\icu_%SS_PLATFORM%\lib
%SS_DEPS%\openssl\openssl_%SS_PLATFORM%\bin
- путь до cmake
C:\Program Files\CMake\bin
(но он может быть и другим, главное, чтобы путь до него был прописан вpath
)
- Установить
СИСТЕМНУЮ
переменную окруженияSS_PLATFORM
правильно (x64 или win32). - Запустить
vs2017_win32.bat
либоvs2017_x64.bat
в зависимости от желаемой сборки
Если нет диска D:, то нужно создать виртуальный диск: http://composs.ru/windows-10-vhd/ (необходимо примерно 20Гб)
Сборка и деплой инсталлера
OS Windows
Для создания готового инсталлера нужно вызвать билд скрипт build_solution_win32.bat
или build_solution_x64.bat
в зависимости от желаемой разрядности сборки.
После сборки откроется explorer.exe
с папкой билда.
В этой папке будут лежать еще три папки:
config
packages
repository
Также рядом будут находиться два установщика:
seospiderinstaller-offline.exe
seospiderinstaller-online.exe
Соответственно это оффлайн и онлайн версия инсталляторов.
Mac OS
nothing
Загрузка новых билдов на наш сервер для обновления по воздуху
- Заходим на наш хостинг на сайте
jino.ru
- Переходим в папку domains, затем в папку
rivesolutions.com
- В
rivesolutions.com
будет лежать папкаdownloads
, заходим туда - В папке
downloads
будут лежать папки с именами ОС, выбираемwin
- В папке
win
будут находиться еще две папки -х64
их86
- Заходим в ту, которая нам нужна, например в
х64
- Из директории с полученным билдом (описанным выше) заходим в папку
repository
, берем оттуда файлUpdates.xml
и заливаем его в корень нашейх64
папки (это сигнал для скачивания апдейта). Именно этот файл опрашивается при запуске программы, если версия, указанная в этом файле выше версии программы, то будет показан диалог с предложением загрузки апдейта. - Далее, берем папку
repository/com.rivesolution.seospider
и заливаем ее на наш хостинг по путиdomains/rivesolutions.com/downloads/win/x64
- Последнее действие, берем exe инсталляторы из папки с билдом и заливаем их по пути
domains/rivesolutions.com/downloads/win/x64/dist
(папкиwin
иx64
зависят от типа сборки и ОС для которой билды предназначены).
Credentials для подключения по FTP
На текущий момент мы хостим все это дело на jino.ru. Для подключения по FTP используйте следующие учетные данные пользователя:
- логин:
j775420
- пароль:
********
Этот пользователь имеет доступ к корневой папке /
.
Либо, для более безопасного подключения используйте следующего пользователя:
- логин:
j775420_rscom-domain
- пароль:
********
Этот пользователь имеет доступ только к /domains/rivesolutions.com
.
Сервер для подключения по FTP
- сервер:
j775420.myjino.ru
илиrivesolutions.com
- порт:
21
Сборка под Mac OS
Для начала нужно установить зависимости
Boost
На данном этапе мы вынуждены использовать кастомную сборку библиотеки boost
.
А именно, в составе библиотеки boost
должна идти библиотека container_hash
из ветки develop
.
Вот как выглядит процесс сборки:
git clone https://github.com/boostorg/boost.git
cd boost
git submodule update --init
cd libs/container_hash
git checkout develop
cd -
./bootstrap.sh
./b2
./b2 install
После этого мы получим собранную и установленную в систему библиотеку boost
.
О том как удалить из системы библиотеку boost
, собранную из исходников: https://askubuntu.com/questions/325504/ubuntu-12-04-uninstall-boost-installed-from-source
Qt
brew install qt
cURL
brew install curl
OpenSSL
brew install openssl
Настройка переменных окружения
Теперь нужно добавить зависимости в соответствующие переменные окружения, чтобы библиотеки могли быть найдены cmake'ом.
Открываем файл ~/.bash_profile
(или ~/.zshrc
начиная с Mac OS Catalina
) и добавляем туда следующие пути:
export PATH="path-to-the-boost-library:/usr/local/opt/qt:/usr/local/include:$PATH"
export OPENSSL_ROOT_DIR="/usr/local/opt/openssl"
export OPENSSL_INCLUDE_DIR="/usr/local/opt/openssl/include"
Вставить разумеется нужно свои пути. Но они с большой вероятностью будут такими же, как указано здесь.
Вместо path-to-the-boost-library
вставить путь до скачанного репозитория библиотеки boost
.
Также этот путь возможно не нужно указывтаь, так как мы уже указали в PATH
путь до всех инклудов в системе /usr/loca/include
.
Я не проверял, как будет вести себя сборка проекта, если удалить из PATH
путь до репозитория библиотеки boost
.
Генерация проекта для Xcode
git clone https://github.com/andrascii/RiveSolutions_SEO_Spider.git
git checkout macos
cmake -B build -G Xcode
- Открыть проект с помощью
Xcode
в папкеbuild
Сборка под OS Linux
Linux говно и сборок под него никогда не будет!