The manifest of these changes is as follows: This file: README.libharu CMake logic that automatically builds libharu as part of the "Build Projects" project (see CMakeLists.txt file in the parent directory) that uses ExternalProject_Add to build projects that have a bp.cmake file: bp.cmake Improved build system (Werner's build system culled from the git version of libharu in 2010 or so with additional improvements by me): cmake.patch Support for larger font sizes (without this, example 24 does not work): large_font.patch Support for gcc visibility: visibility.patch This patch is to remove a configured file from the tarball that made a build with a separate build tree impossible since it's name was the same as the configured file include/hpdf_config.h in the build tree, but its location in the source tree took precedence in the header search path thus incorrectly imposing the configuration of the computer that created the tarball. remove_configured.patch (1) Patch a pre-existing freshly unpacked version of libharu-2.2.1, with these patches, e.g., patch -d /home/software/libharu/libharu-2.2.1 -p1 < cmake.patch patch -d /home/software/libharu/libharu-2.2.1 -p1 < large_font.patch patch -d /home/software/libharu/libharu-2.2.1 -p1 < visibility.patch patch -d /home/software/libharu/libharu-2.2.1 -p1 < remove_configured.patch (2) configure, build, and install libharu starting with an empty build tree and empty install tree, e.g., cd /home/software/libharu mkdir -p build_dir cd build_dir rm -rf /home/software/libharu/build_dir/* /home/software/libharu/install cmake -DCMAKE_INSTALL_PREFIX=/home/software/libharu/install \ ../libharu-2.2.1 >& cmake.out make -j4 install >& make_install.out The above step works fine on Linux with export CFLAGS='-g -fvisibility=hidden' set before the "cmake" invocation to test the new gcc visibility support in hpdf.h. Note that the -DLIBHARU_EXAMPLES=ON cmake option would attempt to build the demos (but not test them). However, avoid using this option with 2.2.1 since no demos are included with that release. N.B. This improved CMake-based build system has been tested for both Linux and MinGW/MSYS now using the "Build Projects" project (see the CMakeLists.txt file in the parent directory). As far as I know, this improved build system _should_ also work on Mac OS X.