Skip to content
Sourcetrail - free and open-source interactive source explorer
C++ C Java CMake Shell CSS Other
Branch: master
Clone or download
mlangkabel logic: fix crash when project directory contains non-latin character …
…(issue #899) (#901)

* added "isValid()" to FilePath
* used "isValid" in check of selected project directory
Latest commit 8cc4aaf Jan 28, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github res: Create Funding.yml Nov 18, 2019
bin test: removed gradle tests to fix Linux CI (#895) Jan 15, 2020
cmake build: Updated Docker Linux 64bit image to Qt 5.12.6 and LLVM/Clang 9… Dec 16, 2019
deployment build: added Travis ci for Linux builds (#857) Dec 17, 2019
docs doc: added FAQ question for contact info (#884) Jan 7, 2020
ide_plugins build: add plugin folders to Windows package Jul 19, 2017
java_indexer logic: extend language support to Java 12 (issue #752) (#844) Dec 10, 2019
script build: Updated Docker Linux 64bit image to Qt 5.12.6 and LLVM/Clang 9… Dec 16, 2019
setup src: Removed backwards compatibility to Coati (.coatiproject, .coatidb) Nov 17, 2019
src logic: fix crash when project directory contains non-latin character … Jan 27, 2020
testing ui: Remove EULA from GUI and Windows installer Nov 16, 2019
.clang-format res: move clang-format file to project top-level folder (#815) Nov 28, 2019
.gitignore build: update deploy script for windows Nov 19, 2019
.travis.yml build: added Travis ci for Linux builds (#857) Dec 17, 2019
AUTHORS.txt data: updated Readme Nov 18, 2019 res: Changelog for Sourcetrail 2019.4.102 Dec 20, 2019
CMakeLists.txt build: fixed race condition in cmake for creating symlinks on Linux (#… Dec 30, 2019 data: updated Readme Nov 18, 2019
LICENSE.txt data: added GNU General Public License Nov 17, 2019 docs: mention Choco package in Readme Jan 13, 2020 res: Update Jan 1, 2020
appveyor.yml build: update qt version in appveyor script (#896) Jan 20, 2020


Sourcetrail is a free and open-source cross-platform source explorer that helps you get productive on unfamiliar source code.

Windows: Build status

Linux: Build Status


"Sourcetrail User Interface"

Sourcetrail is:

  • free
  • working offline
  • operating on Windows, macOS and Linux
  • supporting C, C++, Java and Python
  • offering an SDK (SourcetrailDB) to write custom language extensions

Support Sourcetrail via Patreon

The ongoing development and regular software releases are made possible entirely by the support of these awesome patrons! If you'd like to join them, please consider becoming a patron of Sourcetrail.

Using Sourcetrail

To setup Sourcetrail on your machine, you can either download the respective build for your operating system from our list of Releases and install it on your machine, or use one of the following package managers:

After your installation is complete, follow our Quick Start Guide to get to know Sourcetrail.

How to Report Issues

You can post all your feature requests and bug reports on our issue tracker.


Use the following template:

  • platform version:
  • Sourcetrail version:
  • description of the problem:
  • steps to reproduce the problem:


If you want to support a certain feature request or you have the same bug that another user already reported, please let us know:

How to Contribute

  • Please read and follow the steps in file.
  • You may want to look out for issues labeled good first issue to find some initial tasks to tackle.
  • If you are looking for more information about Sourcetrail software development, please refer to our wiki.

How to Build

Building Sourcetrail requires several dependencies to be in place on your machine. However, our CMake based setup allows to disable indexing support for specific languages which reduces the number of dependencies to a minimum.

Building the bare minimum

Required Tools


This is required for generating the Sourcetrail version number. Get it from:

Make sure git is available in added to your PATH environment variable.

CMake v3.12

This is used for generating a build configuration. Get it from:

Additional tools for Windows

Visual Studio

Additional tools for Unix


This is optionally used to speed up rebuilds if found in PATH.

Required dependencies

Boost 1.67

For the msvc compiler pre-built binaries can be downloaded from

For building on Unix:

$ ./ --with-libraries=filesystem,program_options,system,date_time
$ ./b2 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags=-fPIC

Qt 5.12

Note: still causes style issues on Windows, resort to Qt 5.10

For the msvc compiler pre-built binaries can be downloaded from


For Windows / Visual Studio

$ cd Sourcetrail
$ mkdir -p build/win64
$ cd build/win64
$ cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT=<path/to/boost_1_68_0> -DQt5_DIR=<path/to/Qt/version/platform/compiler/lib/cmake/Qt5> ../..

If you are using the gui, we recommend that you activate advanced mode. Also you may be required to add some of the defines via the "Add Entry" button.

After generating the build configuration, just open the Sourcetrail.sln file that was generated by CMake and build the Sourcetrail project.

For Unix

$ cd Sourcetrail
$ mkdir -p build/Release
$ cd build/Release
$ cmake -DCMAKE_BUILD_TYPE="Release" -DBOOST_ROOT=<path/to/boost_1_68_0> -DQt5_DIR=<path/to/Qt/version/platform/compiler/lib/cmake/Qt5> ../..
$ make Sourcetrail


Run Sourcetrail from within the build directory. During execution Sourcetrail needs resources from bin/app/data and bin/app/user. Cmake creates symlinks to these directories within the build directory.

Enable C/C++ Language Support

Required dependencies

LLVM/Clang 9.0.0


For the msvc compiler, follow these steps to build the project. Make sure to check out the correct tag and to run the cmake command exactly as described.


For Unix, follow this installation guide



Run CMake with these additional options:


Enable Java Language Support

Required dependencies

JDK 1.8

Install JDK and make sure the JAVA_HOME environment variable is set:


Also make sure <jdk_root>/bin is available in your PATH environmen variable.


Install Maven and make sure both M2_HOME and MAVEN_HOME environment variables are set:


Also make sure .../apache-maven-x.x.x/bin is available in your PATH environmen variable.


Run CMake with these additional options:


Enable Python Language Support

Required dependencies

WinRAR (for Windows only)


Run CMake with these additional options:




Required Tools

Visual Studio
Wix 3.11
Wix extension for Visual Studio

Make sure to append these directories to your PATH environment variable:

  • VisualStudio/Common7/Tools
  • VisualStudio/Common7/IDE
  • .../Microsoft SDKs/Windows/v7.1A/Bin (for uuidgen in deploy script)
  • .../WiX Toolset v3.11/bin
  • .../WinRAR

Run ./script/ script which will generate 32bit/64bit builds and packages these into a portable .zip file and a Wix-based Windows installer, each.


After building, run the script within the build directory which will create a bundle and generate a Sourcetrail_<version>.dmg container.


Run ./script/ package

How to Run the Tests

The automated test suite of Sourcetrail is powered by Catch2. To run the tests, simply execute the Sourcetrail_test binary. Before executing, please make sure to set the working directory to ./bin/test.


Sourcetrail is licensed under the GNU General Public License Version 3.


The "Sourcetrail" name is a trademark owned by Coati Software and is not included within the assets licensed under the GNU GPLv3.

You can’t perform that action at this time.