Current Version: libjpeg 9f (9.6.0)
This project provides drop-in CMake support for the IJG's JPEG library. Simply run CMake as normal:
cmake -S . -B build/
cmake --build build/
Alternatively, the important CMake files can be copied to any libjpeg
source directory:
cp resources/* ~/jpeg-9f/
cmake -S ~/jpeg-9f/ -B ~/jpeg-9f/build/
cmake --build ~/jpeg-9f/build/
# Delete the contents of the libjpeg subdirectory
rm -rf libjpeg/*
# Copy the source files for libjpeg into the libjpeg subdirectory
cp -a ~/jpeg-9f/ libjpeg/
# Rerun the CMake build process
cmake --build build/
jpeg-cmake
emulates the behavior of libjpeg
and compiles both static and
shared libraries by default. Selective compilation of shared and static
libraries can be controlled with the BUILD_<SHARED|STATIC>_LIBS
CMake flags:
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON ..
The libjpeg
utility programs are built by default. To disable compilation of
these tools, set the BUILD_EXECUTABLES
flag:
cmake -DBUILD_EXECUTABLES=OFF ..
By default, executables are linked against the shared libraries. If
static libraries are enabled, executables can optionally be linked statically
by using the LINK_STATIC
flag:
cmake -DLINK_STATIC=ON ..
The default output format for djpeg can be specified with the DEFAULT_FMT
flag. To compile correctly, the flag must be set to one of the enum options
listed in djpeg.c
:
- FMT_BMP
- FMT_GIF
- FMT_GIF0
- FMT_OS2
- FMT_PPM
- FMT_RLE
- FMT_TARGA
- FMT_TIFF
cmake -DDEFAULT_FMT=FMT_BMP ..
jpeg-9e+ provides an alternate command line interface for cjpeg and djpeg. This
interface can be enabled with the BUILD_ALT_UI
flag:
cmake -DBUILD_ALT_UI=ON ..
The libjpeg
test targets are generated by default whenever
BUILD_EXECUTABLES
is enabled. They can be run using the test
target:
cmake ..
make
make test
To disable test generation, set the BUILD_TESTS
flag:
cmake -DBUILD_TESTS=OFF ..
libjpeg
provides extensive build customization through modification of jconfig.h
.
To ease this process, jpeg-cmake
provides many of these customization options
as CMake flags. For example:
cmake -DGIF_SUPPORTED=OFF -DPROGRESS_REPORT=ON ..
See resources/ConfigureJConfig.cmake
for
a complete list of flags and their descriptions.