libzip uses cmake to build.
For running the tests, you need to have perl.
You’ll need zlib (at least version 1.1.2). It
comes with most operating systems.
For supporting bzip2-compressed zip archives, you need
bzip2.
For supporting xz-compressed zip archives, you need
liblzma which is part of xz, at least version 5.2.
For AES (encryption) support, you need one of these cryptographic libraries,
listed in order of preference:
If you don’t want a library even if it is installed, you can
pass -DENABLE_<LIBRARY>=OFF
to cmake, where <LIBRARY>
is one of
COMMONCRYPTO
, GNUTLS
, MBEDTLS
, or OPENSSL
.
The basic usage is
mkdir build
cd build
cmake ..
make
make test
make install
Some useful parameters you can pass to cmake
with -Dparameter=value
:
BUILD_SHARED_LIBS
: set to ON
or OFF
to enable/disable buildingON
CMAKE_INSTALL_PREFIX
: for setting the installation pathDOCUMENTATION_FORMAT
: choose one of man
, mdoc
, and html
forLIBZIP_DO_INSTALL
: If you include libzip as a subproject, link itOFF
. Defaults to ON
.If you want to compile with custom CFLAGS
, set them in the environment
before running cmake
:
CFLAGS=-DMY_CUSTOM_FLAG cmake ..
If you are compiling on a system with a small stack size, add
-DZIP_ALLOCATE_BUFFER
to CFLAGS
.
If you are building on a 32-bit Linux system it might be necessary
to define _FILE_OFFSET_BITS
to 64
. Your distro will need to provide
a fts.h
file that is new enough to support this, or the build
will break in zipcmp
.
You can get verbose build output with by passing VERBOSE=1
to
make
.
You can also check the cmake FAQ.