git clone https://github.com/heimdallr/books.git --recursive
Проверялось на Windows 10 и 11, компилятор от MS в средах MSVS2022 и QtCreator
- conan.exe
- cmake.exe, версия cmake должна поддерживать вашу версию MSVS, conan,... короче, берите cmake посвежее
- git.exe, необязательно, но полезно, позволит в логах видеть хэш текущего коммита
- Inno Setup, если нужен инсталлятор
В батнике configure.bat поменять пути к зависимостям на ваши, запустить его. Возможно, сработают и другие способы, типа cmake-gui, или открыть в MSVS папку с исходниками.
В результате конфигурирования в папке build будет создан солюшн FLibrary.sln. В нём надо собрать проект FLibrary.
- Можно запустить батник build.bat. Если окружение настроено правильно, то в папке build/installer будут собраны инсталляторы и архив портабельной версии программы.
- Можно открыть CMakeLists.txt в QtCreator
Проверялось на Ubuntu 24.04, компилировалось gcc 15.2, 16.1
cd your/path/to/cloned/repo/books
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DQt6_DIR=your/path/to/Qt6/lib/cmake/Qt6 -G Ninja
cmake --build .
cmake --install .
- Запустить скрипт
build.sh. В результате в папке build будет создан архив FLibrary-x.y.z-portable-Linux.tar.xz - Запустить скрипт с параметром
build.sh DEB. В папке build будет собран пакет FLibrary-x.y.z-setup-Linux.deb
При использовании Qt, не собранного статически с libjpeg, возможна runtime-ошибка qt.gui.imageio.jpeg: Wrong JPEG library version: library is 90, caller expects 62. Некоторым помогает добавление в начало start.sh указания LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjpeg.so.62.x.y, где x.y - ваша версия системной libjpeg.so. Спасибо уважаемому Simply234 за этот workaround.