Files
pdfio/INSTALL.md
2026-01-29 12:30:10 -05:00

3.9 KiB

Building, Testing, and Installing PDFio

This file describes how to compile, test, and install the PDFio library from source code. For more information on PDFio see the file called README.md.

Getting the Code

Note: Do not use the ZIP file available via the Github "Code" button on the main project page, as that archive is missing the TTF submodule and will not compile.

The source code is available in release tarballs or via the Github repository. For a release tarball, run the following commands:

tar xvzf pdfio-VERSION.tar.gz
cd pdfio-VERSION

Similarly, the release ZIP file can be extracted with the following commands:

unzip pdfio-VERSION.zip
cd pdfio-VERSION

From the Github sources, clone the repository with the --recurse-submodules option or use the git submodule command:

git clone --recurse-submodules git@github.com:michaelrsweet/pdfio.git
cd pdfio

git clone git@github.com:michaelrsweet/pdfio.git
cd pdfio
git submodule update --init --recursive

To update an already-cloned repository:

git pull
git submodule update --init --recursive

Requirements

PDFio requires the following to build the software:

IDE files for Xcode (macOS/iOS) and Visual Studio (Windows) are also provided.

On a stock Ubuntu install, the following command will install the various prerequisites:

sudo apt-get install build-essential libpng-dev libwebp-dev zlib1g-dev

Building and Installing on Linux/Unix

PDFio uses a configure script on Unix systems to generate a makefile:

./configure

If you want a shared library, run:

./configure --enable-shared

The default installation location is "/usr/local". Pass the --prefix option to make to install it to another location:

./configure --prefix=/some/other/directory

Other configure options can be discovered by using the --help option:

./configure --help

Once configured, run the following command to build the library:

make all

Finally, run the following command to install the library, documentation, and examples on the local system:

sudo make install

Use the BUILDROOT variable to install to an alternate root directory:

sudo make BUILDROOT=/some/other/root/directory install

Note: PDFio also supports the GNU DSTROOT, Apple/Darwin DESTDIR, and Red Hat RPM_BUILD_ROOT variables to specify an alternate root directory.

Running the Unit Tests

PDFio includes a unit test program that thoroughly tests the library. Type the following to run the unit tests:

make test

Detailed test results are saved to the "test.log" file.

Building on Windows with Visual Studio

The Visual Studio solution (pdfio.sln) is provided for Windows developers and generates the PDFIO1 DLL. You can also use NuGet to install the pdfio_native package.

You can build and run the testpdfio unit tests target from within Visual Studio to verify the functioning of the library.

Building on macOS with Xcode

The Xcode project (pdfio.xcodeproj) is provided for macOS developer which generates a static library that will be installed under "/usr/local". Run the following command to build and install PDFio on macOS:

sudo xcodebuild install

Alternately you can add the Xcode project to a workspace and reference the PDFio library target as a dependency in your own project.

You can build and run the testpdfio unit tests target from within Xcode to verify the functioning of the library.