ComicLibraryQML is a lightweight program designed for reading comics efficiently, with minimal RAM and storage space requirements. It is built using the QT/QML framework and C++, making it fast and resource-efficient.
This project has been updated and verified to work on both Windows and Linux platforms:
- Windows: Tested with Qt 6.9.1, Visual Studio 2022, and CMake
- Linux: Configured for Ubuntu/Debian, Arch Linux, and other distributions
- Automated deployment for both platforms
- Validation scripts included for easy setup verification
- Thumbnail Generation: Automatically generates thumbnails for each comic in your library, enhancing the browsing experience.
- Bookmarking: Automatically saves the last opened comic and the page where you left off, allowing you to resume reading from where you stopped.
- Comic Information Management: Stores comic metadata, including the number of pages and reading progress, in JSON format for easy retrieval and management.
- Low Resource Usage: Designed to consume minimal RAM and storage space, ensuring smooth performance even on low-spec devices.
- Select Comic Folder: Choose the folder containing your comic collection within the program.
- Thumbnail Generation: The program will automatically generate thumbnails for comics in the selected folder if they haven't been created yet.
- Thumbnail View: Browse through your comics using the thumbnail view, which displays the contents of the selected folder.
- Comic Selection: Click on a thumbnail to select a comic for reading.
- Bookmarking: The program automatically saves your progress for each comic, allowing you to resume reading from where you left off.
- Qt 6.9.1 or later with the following components:
- Core
- Gui
- Qml
- Quick
- Widgets
- CMake 3.21.1 or later
- C++17 compatible compiler
- On Windows: Visual Studio 2019 or later
- On Linux: GCC 9+ or Clang 10+
- Git (for cloning submodules)
# Clone the repository
git clone https://github.com/steveway/ComicLibraryQML.git
cd ComicLibraryQML
# Initialize submodules
git submodule update --init --recursive
# Build
mkdir build && cd build
cmake ..
cmake --build .
# Deploy (optional - creates standalone package)
cmake --build . --target deploy-
Install Qt:
- Download Qt 6.9.1 or later from qt.io
- Make sure to include the Pdf module
- Install Qt Maintenance Tool for easy component management
-
Build with Visual Studio:
mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64
cmake --build . --config Release
# Create deployment package
cmake --build . --target deploy- Run the Application:
- The executable will be in
build/Release/CLCApp.exe - The deployed version with all dependencies will be in
build/deploy/
- The executable will be in
- Install Dependencies:
# Install Qt6 and development tools
sudo apt update
sudo apt install qt6-base-dev qt6-declarative-dev qt6-quickcontrols2-dev libqt6pdf6-dev qt6-tools-dev cmake build-essential git
# Or install Qt via the official Qt installer or aqt tool- Build:
mkdir build && cd build
cmake ..
make -j$(nproc)
# Create deployment package
make deploy- Run the Application:
./CLCApp- Install Dependencies:
sudo pacman -Syu qt6-base qt6-declarative qt6-quickcontrols2 qt6-tools cmake git
# Note: Qt6 Pdf module might need to be installed separately- Build:
mkdir build && cd build
cmake ..
make -j$(nproc)- Install Qt6 development packages through your package manager
- Ensure Qt6 Pdf module is available
- Use the same build commands as above
After building, you can run the application:
Windows:
# From build directory
./Release/CLCApp.exe
# Or from deployed directory
./deploy/CLCApp.exeLinux:
# From build directory
./CLCApp
# Or from deployed directory
./deploy/CLCAppThe project includes automated deployment:
- Windows: Uses
windeployqtto collect all required DLLs and plugins - Linux: Creates a directory with the executable and symlink
To deploy:
cmake --build . --target deployThe deployed application will be in the build/deploy/ directory.
The project includes validation scripts to ensure your environment is properly set up:
Windows:
powershell -ExecutionPolicy Bypass -File .\scripts\validate_crossplatform.ps1Linux:
chmod +x ./scripts/validate_crossplatform.sh
./scripts/validate_crossplatform.shFull validation with build test:
# Windows
powershell -ExecutionPolicy Bypass -File .\scripts\validate_crossplatform.ps1 --build
# Linux
./scripts/validate_crossplatform.sh --buildThese scripts will check for:
- Required development tools (CMake, compiler, etc.)
- Qt installation and required modules
- Git submodules initialization
- CMake configuration
- Optional build and deployment testing
Qt not found:
- Make sure Qt 6.9.1 or later is installed
- Ensure the Pdf module is included
- Set
Qt6_DIRorQT_PREFIX_PATHenvironment variable if Qt is not in default location
Missing DLLs on Windows:
- Use the deployment target:
cmake --build . --target deploy - Run the application from the
build/deploy/directory
Build fails on Linux:
- Install all required Qt6 development packages
- Ensure Qt6 Pdf module is available (may need separate installation)
- Check that all git submodules are initialized
Submodule issues:
git submodule update --init --recursive- Check the GitHub Issues for known problems
- Run the validation script to diagnose environment issues
- Ensure all dependencies are properly installed
Contributions to Comic Library Reader are welcome!
This project is licensed under the GNU General Public License version 2 or later (GPL-2.0+).
For any questions or issues, please open an issue on GitHub.
