Little CMS Documentation

repository·master·Indexed 20 days ago

https://github.com/mm2/little-cms

A high-performance, open-source color management engine providing a full implementation of the ICC 4.4 specification. It supports V2 and V4 profiles, including abstract, device-link, and named color profiles. The engine is compatible with Autotools, CMake, and Meson build systems.

Tokens
1.1K
Snippets
4
Records
9
Agent score
73%

What's inside Little CMS

  1. Overview of Little CMS color management engine

    master

    Little CMS is an open-source, small-footprint color management engine designed for high accuracy and performance. It is a full implementation of the ICC (International Color Consortium) specification 4.4, making it compatible with modern color management standards.

    Key capabilities include:

    • Full ICC 4.4 Conformance: Supports all V2 and V4 profiles.
    • Profile Support: Handles abstract, device-link, and named color profiles.
    • Broad Application: Used in printer firmware, monitors, digital cameras, RIPs, publishing, and scientific applications.
  2. Build System Support Overview

    master

    Little CMS supports three build systems with varying levels of maturity:

    • Autotools (autoconf/automake/libtool): Fully Supported. The traditional choice for Unix-like platforms.
    • CMake: Supported, in active development. Recommended for native Windows (MSVC) and cross-compilation.
    • Meson: Supported, in testing.
  3. Build Little CMS with Meson

    master

    Meson support is currently in testing. It requires meson and ninja to be installed.

    # Prerequisites: meson, ninja
    meson setup build
    ninja -C build
    meson test -C build
    meson install -C build
    
    # To install to a custom prefix
    meson setup build --prefix=/your/prefix
  4. Build Little CMS with CMake

    master

    CMake is supported and in active development. It is the recommended build system for native Windows (MSVC) builds. Building with CMake installs package config files (e.g., lcms2Config.cmake), allowing downstream CMake projects to find and link against lcms2 regardless of which build system was used to build the library.

    # Prerequisites: CMake 3.x or later
    cmake -S . -B build
    cmake --build build
    ctest --test-dir build
    cmake --install build
    
    # To install to a custom prefix
    cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/your/prefix
  5. Build Little CMS with Autotools

    master

    Autotools is the traditional, fully supported build system for Unix-like platforms. It is the reference for test coverage and correctness. Note that Autotools does not support native Windows builds in environments without a POSIX shell (e.g., MSVC-only environments); use CMake for those cases.

    # If building from a git checkout
    ./autogen.sh
    
    # Standard build sequence
    ./configure
    make
    make check
    make install
    
    # To install to a custom prefix
    ./configure --prefix=/your/prefix
  6. Check plugin licenses before commercial use

    master
    While the LittleCMS core is released under the MIT license, individual plugins may be released under different licenses. Specifically, the fast_float and threaded plugins are released under GPL3. Always verify the license of any plugin before integrating it into a commercial project.
  7. Report build issues for Little CMS

    master

    If you encounter issues with any build system, report them via the lcms-user mailing list or GitHub Issues. When reporting, include:

    • The build system used (Autotools / CMake / Meson) and its version.
    • The operating system and architecture.
    • Whether you are cross-compiling (and the host/target tuple).
    • The full error output.
  8. Identify Little CMS version and product metadata

    master

    The Little CMS (lcms2) binary contains embedded version and product information. This metadata can be used to verify the engine version and identify the product description and legal copyright information.

    Note: The version information in the resource script may differ from the current repository version depending on the specific build target.

    FileDescription: lcms color engine
    FileVersion: 2.19.0.0
    InternalName: lcms2
    LegalCopyright: Copyright © Marti Maria 2026
    OriginalFilename: lcms2.dll
    ProductName: LittleCMS color engine
    ProductVersion: 2.19.0.0