1. Download the PDFHummus/PDFWriter source code: https://github.com/galkahana/PDF-Writer
   This library only has build instructions for MSVC toolchains within Visual Studio 2017/2019.
   create folders PDFWriter\dependencies\lib\ and PDFWriter\dependencies\include
2. Use VCPKG to install the following libraries necessary for PDFHummus:
   libtiff, libjpeg, libpng, and zlib
3. Download freetype from: git://git.savannah.gnu.org/freetype/freetype2.git
   From the freetype2 source code root directory use Msys and run the following commands:
   mingw32-make setup mingw32 
   mingw32-make
   cp -r  include\* ..\PDFHummus\PDFWriter\dependencies\include\
   cp objs\libfreetype.a ..\PDFHummus\PDFWriter\dependencies\lib\
4. The PDFHummus/PDFWriter source code includes a copy of the source code for LibAesgm in a folder with the same name.
   Go into this folder and run the following commands to generate the library:
   // fpermissive is needed because the author chose to implicitly switch between pointers of uint_8 and char.
   g++ -c -fpermissive *.o
   ar -cvq aesgm.lib *.o
   g++ -I "C:\Users\bad-p\Downloads\PDFHummus-build\PDFHummus\LibAesgm"
5. 
   Download libtiff from: https://gitlab.com/libtiff/libtiff 
   After compiling the libtiff library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\libtiff-master\build\libtiff\CMakeFiles\tiff.dir

   Download libpng from: https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download?use_mirror=newcontinuum
   After compiling the libpng library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\libpng-1.6.37\build\CMakeFiles\png_static.dir
  
   Download libjpeg from:https://sourceforge.net/projects/libjpeg/files/
   After compiling the libjpeg library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\jpeg-6b
   
   Download zlib from: https://www.zlib.net/
   After compiling the zlib library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\zlib-1.2.11

   For all CMake instructions create a build directory in the source root. CD in to build, run Cmake .. for windows using msys pass the 'Cmake .. -G "MSYS Makefiles"' 
   build option to generate a makefile appropiate for msys; You can use make afterwards to compile as normal.
   After all of the object files are moved into the same folder, generate a library for PDFWriter.
   ar -cvq PDFWriter.lib *.o 