{"id":50459558,"url":"https://github.com/heimdallr/books","last_synced_at":"2026-06-01T04:01:12.454Z","repository":{"id":64216867,"uuid":"344443395","full_name":"heimdallr/books","owner":"heimdallr","description":"FLibrary: another e-book cataloger","archived":false,"fork":false,"pushed_at":"2026-05-25T09:54:38.000Z","size":11503,"stargazers_count":68,"open_issues_count":8,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-25T11:28:02.569Z","etag":null,"topics":["cpp","qt","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heimdallr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE_en.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-04T10:59:22.000Z","updated_at":"2026-05-24T09:09:39.000Z","dependencies_parsed_at":"2026-05-09T18:01:14.122Z","dependency_job_id":null,"html_url":"https://github.com/heimdallr/books","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/heimdallr/books","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimdallr%2Fbooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimdallr%2Fbooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimdallr%2Fbooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimdallr%2Fbooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heimdallr","download_url":"https://codeload.github.com/heimdallr/books/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimdallr%2Fbooks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33759178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","qt","sqlite3"],"created_at":"2026-06-01T04:00:49.439Z","updated_at":"2026-06-01T04:01:12.447Z","avatar_url":"https://github.com/heimdallr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![C++](https://img.shields.io/badge/c++-%2300599C.svg?logo=c%2B%2B\u0026logoColor=white)](https://cppreference.com/)\n[![Static Badge](https://img.shields.io/badge/C%2B%2BStandard-C%2B%2B23-green?style=flat\u0026label=C%2B%2BStandard)](https://en.cppreference.com/w/cpp/23.html)\n[![CMake](https://img.shields.io/badge/CMake-%23008FBA.svg?logo=cmake\u0026logoColor=white)](https://cmake.org/)\n[![Qt](https://img.shields.io/badge/Qt-%23217346.svg?logo=Qt\u0026logoColor=white)](https://www.qt.io/)\n[![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?logo=sqlite\u0026logoColor=white)](https://sqlite.org/)\n[![Visual Studio](https://img.shields.io/badge/Visual%20Studio-5C2D91.svg?logo=visual-studio\u0026logoColor=white)](https://visualstudio.microsoft.com/)\n[![Windows](https://img.shields.io/badge/-Windows-6E46A2.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0ODc1IDQ4NzUiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjMxMXYyMzEwSDB6bTI1NjQgMGgyMzExdjIzMTBIMjU2NHpNMCAyNTY0aDIzMTF2MjMxMUgwem0yNTY0IDBoMjMxMXYyMzExSDI1NjQiLz48L3N2Zz4=)](https://www.microsoft.com/en-us/windows/windows-11)\n[![Linux](https://img.shields.io/badge/-Linux-ad3a90.svg?style=flat\u0026logo=linux\u0026logoColor=white)](https://ubuntu.com/)\n\n# FLibrary - каталогизатор электронной библитотеки\n\n\u003cdetails\u003e\n\u003csummary\u003eСкриншоты\u003c/summary\u003e\n \u003cimg width=\"1871\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7b5ef1fe-b3e5-4df7-9852-b1ea67241257\" /\u003e\n \u003cimg width=\"1871\" alt=\"image\" src=\"https://github.com/user-attachments/assets/fc0501c8-726b-4117-85c9-a5b358ca06d9\" /\u003e\n\u003c/details\u003e\n\n[Сравнение с MyHomeLib](doc/compare/mhl.md)\n\n## Сборка\n\n#### Клонируем исходники с сабмодулями\n```\ngit clone https://github.com/heimdallr/books.git --recursive\n```\n\n#### Устанавливаем и настраиваем conan\n[Инструкция](https://docs.conan.io/2/installation.html)  \n\n#### Устанавливаем модули, которых нет в conan\n* Qt6 (6.10.0 минимум, но лучше 6.11) [^4] [^5]  \n* 7zip  \n\n### Windows  \nПроверялось на Windows 10 и 11, компилятор от MS в средах MSVS2022 и QtCreator\n\n#### Добавляем в PATH пути к: \n* conan.exe  \n* cmake.exe, версия cmake должна поддерживать вашу версию MSVS, conan,... короче, берите cmake посвежее  \n* git.exe, необязательно, но полезно, позволит в логах видеть хэш текущего коммита  \n* Inno Setup, если нужен инсталлятор  \n\n#### Конфигурируем:\nВ батнике configure.bat поменять пути к зависимостям на ваши, запустить его. Возможно, сработают и другие способы, типа cmake-gui, или открыть в MSVS папку с исходниками.  \n\n#### Собираем:\nВ результате конфигурирования в папке build будет создан солюшн FLibrary.sln. В нём надо собрать проект FLibrary.  \n\n#### Ещё варианты:\n* Можно запустить батник build.bat. Если окружение настроено правильно, то в папке build/installer будут собраны инсталляторы и архив портабельной версии программы.  \n* Можно открыть CMakeLists.txt в QtCreator  \n\n### Linux\nПроверялось на Ubuntu 24.04, компилировалось gcc 15.2, 16.1\n\n##### Убеждаемся в наличии gcc с поддержкой c++23\n##### Выполняем команды  \n```\ncd your/path/to/cloned/repo/books\nmkdir build\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release -DQt6_DIR=your/path/to/Qt6/lib/cmake/Qt6 -G Ninja\ncmake --build .\ncmake --install .\n```\n##### Ещё варианты\n* Запустить скрипт `build.sh`. В результате в папке build будет создан архив FLibrary-x.y.z-portable-Linux.tar.xz  \n* Запустить скрипт с параметром `build.sh DEB`. В папке build будет собран пакет FLibrary-x.y.z-setup-Linux.deb  \n\n[^4]: Ну ладно, Qt 6.11 уже есть в conan'е. Но всё равно лучше собрать самостоятельно, с патчами src/home/script/conan/patch/qt. И слинковать с icu из conan.\n[^5]: Если есть необходимость запуска на Windows7, можно и с Qt5. Я собирал с 5.15.16\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheimdallr%2Fbooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheimdallr%2Fbooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheimdallr%2Fbooks/lists"}