SumatraPDF is an open-source, collaborative project. We always welcome new developers who want to join the project, contribute code and new features.

Getting the sources and compiling #

You’ll need latest Visual Studio. A free Community edition will work.
Get the sources from https://github.com/sumatrapdfreader/sumatrapdf
Open vs2022/SumatraPDF.sln compile and run.
Read more about our build system.

Contribute to SumatraPDF #

We use a standard GitHub model:
Before you start working on a significant addition, it’s a good idea to first discuss it in issue tracker.

Bug reports? Feature requests? Questions? #

You can use issue tracker for development related topics or forums for general topics.

Info for new developers #

Info to orient new developers to Sumatra code base.
You should install Go (https://golang.org/dl/).
Many tasks are automated with Go program in do directory. Run doit.bat for easy running of that program. use different cmd-line args to trigger different functions.
To build, use latest Visual Studio and open vs2022\SumatraPDF.sln solution. Look at different targets and configurations.
Don’t edit the solution directly. To learn how to make changes (add files, change compilation flags etc.) see info about build system.
We use GitHub Actions for a CI system. See .github directory. Most importantly it builds a 64-bit release version on every checkin to catch build errors and uploads it to storage and makes available via https://www.sumatrapdfreader.org/prerelease
Overview of the directories:

edit