Home

Third Party Libs and Headers

This is a collection of pre-built third party libs and headers for inclusion in other projects. The purpose of this archive is to standardize the structure of the include paths and library search paths in a consistent manner, and also to support building in different configurations (e.g. 'Debug' and 'Release') and for different architectures (e.g. 'x86' and 'x64').

Third-party library producers have different ideas about how to address this configuration problem, ranging from name decorations schemes, to not addressing it at all. The user of the library has the burden of of integrating the library into their project, possibly by renaming the build products so that many configurations can be supported, or by changing the libraries' source configuration so that the build yields distinguished output.

This repository is an attempt to make it easier to retrieve and integrate these libraries for inclusion into dependent projects, and also to avoid modifying the configuration and source by accommodating the varying choices of the libraries authors.

Each library in this repo is in a separate branch, and you pick the libraries you want integrated into your environment by that branch name. You can see the libraries available now via the 'Branches' link, above.

You build up your library by:

fossil open 3rdParty.fossil --nested
fossil update {branch name containing library of interest}
fossil close

The 'open, update, close' is a trick to keep fossil from deleting the files you brought in a previous 'update', when you select another library by a subsequent 'update'. This can be a little tedious when done from the command line, so I suggest making a list and creating a batch file from it to do the fossilian legerdemain.

After you're finished, you can discard the fossil file if you want.

Note: some older fossil.exe did not support the --nested option. In those cases, you can omit that option after first closing your own repo, performing the library integration activity described above, and then re-opening your library.