petermost/Sourcetrail

Sourcetrail - free and open-source interactive source explorer

C++

763

3,059 commits

updated Oct 12, 2026

See the code

README

Sourcetrail

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

  • Free
  • Working offline
  • Supporting C/C++ and Java
  • Operating on Linux, Windows (and macOS)
  • Offering a SDK (SourcetrailDB) to write custom language extensions

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

"Sourcetrail User Interface"

Important

This project was archived by the original authors and maintainers of Sourcetrail by the end of 2021. You can read more about this decision in this blog entry.

This is a fork of the Sourcetrail project and I want to keep this project at least buildable.

[!NOTE]

Maintenance Status (2026-08-01)

For almost two years, I was able to work full-time on Sourcetrail. But now that I have started working on a new customer project, I won't have as much time for Sourcetrail as I did in the past. I'm still committed to keeping Sourcetrail up to date and buildable, as I stated in my original statement above, but development will slow down somewhat.

Contents

⭐ Sponsoring

If you like the changes I've done so far, then please consider sponsoring me.

By sponsoring me with $10 per month, you will gain access to the following binary releases in appreciation of your support:

  • Sourcetrail
  • 🆕 Visual Studio 2026 Extension
  • 🆕 QtCreator 18/19 Plugin

Binary Releases

NamePlatformPackagingBuild
SourcetrailLinuxZIP Archive, Debian PackageVcpkg, System
SourcetrailWindowsZIP ArchiveVcpkg
Visual Studio 2026 ExtensionWindowsVSIX Package
Qt Creator 18/19 PluginLinux/WindowsZIP Archive

Sourcetrail used/tested/supported libraries:

General

NameSystemVcpkg
Qt66.10.26.11.1
Boost1.90.01.91.0
SQLite33.46.13.53.4
TinyXML2.6.22.6.2

C++

NameSystem/Vcpkg
Clang/LLVM21.1.2

Java

NameSystem/Vcpkg
Eclipse JDT3.42
Maven3.9.9
Gradle9.3.1

Tests

NameSystemVcpkg
Catch23.7.13.15.3
GTest1.17.01.18.0

Changes

2026.10

  • Indexing: Improve performance of Updated files check
  • Framework: Fix crash in MessageQueue::unregisterListener (#72)
  • Logging: Prevent Windows console when starting via Explorer
  • Logging: Don't enable logging by default on initial start
  • Indexing: Remove Python support

2026.6

  • C/C++: Add indexing of C-style casts
  • Logging: Fix deletion of old log files
  • C/C++: Updates for LLVM/Clang 21.1.2
  • C/C++: Restore support for Visual Studio 2010 to 2015

2026.4

  • GUI: Add +/- buttons to trail depth control (Thanks to @tszwinglitw for the initial code)
  • GUI: Fix missing shortcut for Exit menu entry under Windows
  • GUI: Resize the view title bar widgets to fit better with other widgets (#66)
  • GUI: Enable screen scaling for Windows

2025.12.8

  • C++: Add indexing of structured binding declarations
  • C++: Add indexing of auto prvalue casts
  • GUI: Fix error/status view not cleared between indexing (#51)
  • C/C++: Replace msvc mulitithreading library switches with corresponding clang switch
  • C/C++: Add Visual Studio 2026 support
  • Database: Enable simple database performance improvement
  • Python: Remove non-working Python support
  • C/C++: Remove support for Visual Studio 2010 to 2015

2025.10.13

  • C/C++: Add indexing of concept type constraints
  • C/C++: Add indexing of abbreviated function templates
  • C/C++: Use correct keyword for template template parameters (clang/LLVM >= 20)

2025.9.9

  • C/C++: Add indexing of auto return types
  • GUI: Allow tab closing with middle mouse click
  • GUI: Improve layout of license window content
  • GUI: Add Open to context menu of start window

2025.7.11

2025.6.19

  • GUI: Allow removing projects from the Recent Projects list
  • GUI: Fix highlighting of Text and On-Screen search results for UTF-16/UTF-32 text
  • GUI: Show configured text encoding in the status bar
  • Internal: Switch to 'UTF-8 Everywhere'
  • Internal: Switch to Qt resource system for most GUI resources

2025.5.1

  • GUI: Fix handling of Esc/Return keys for dialogs (Indexing, Bookmark, etc.) (Fixes issue 27)
  • GUI: Activate bookmark with double click and close bookmark manager
  • GUI: Highlight the taskbar entry when indexing has finished
  • GUI: Show indexing progress in window title
  • GUI: Added tooltips or prompt texts to many widgets

2025.4.1

  • Java: Add Support for record classes
  • macOS: Fix vcpkg build. Thanks to ChristianWieden for the help

2025.3.3

  • Java: Add support for Eclipse JDT 3.40 (Java 23)
  • Java: Update Gradle support to 8.12

2025.1.28

  • C/C++: Add support for Clang 19 (C++23).
  • C/C++: Re-enable detection of non-trivial destructor calls.
  • Fix: Keep the console window open when logging is enabled.
  • Framework: Replace/Remove last Qt5 dependency.

2024.9.23

2024.8.2

  • GUI: Remove qt.conf which seems to improve the menu font rendering under Windows

2024.7.3

  • GUI: Fix non-working dialogs i.e. the selected action weren't executed
  • C/C++: Disabled indexing of non-trivial destructor calls. See #7 (comment) for further details.

2024.7.2

  • Installation: Add Debian packaging

2024.7.1

  • C/C++: Add indexing of the deduced type of auto variables
  • C/C++: Add indexing of user defined conversion operators
  • C/C++: Add indexing of non-trivial destructor calls

2024.7.0

  • C/C++: Update libClang/LibTooling to Clang 18

2024.6.0

  • C/C++: Add indexing of the deduced type of auto variables

2024.05.9

  • C/C++: Add indexing of user defined conversion operators
  • C/C++: Update support for C++ standards C++20, C++23
  • C/C++: Update detection of 'Global Include Paths' for Visual Studio 2017, 2019, 2022
  • Java: Generalize detection of JRE/JVM
  • Java: Generalize detection of Maven
  • Java: Update support for Java Standard 16, 17, 18, 19, 20
  • Framework: Update libClang/LibTooling to Clang 16/17
  • Framework: Switch from Qt5 to Qt6

2021.4.19 - 0.3.0

Coati Changelog

Building

There are 2 ways to build the project:

  1. With vcpkg provided packages (Vcpkg build)
  2. With the system provided packages (System build)

Cloning

It is important to clone the repository with the submodules and the symlinks:

git clone https://github.com/petermost/Sourcetrail.git --recurse-submodules --config core.symlinks=true

and get the updates with:

git pull --recurse-submodules

Vcpkg Build

Depending on the platform and the selected indexer, additional software/packages must be installed.

Prepare the build in a terminal or command prompt ("x64 Native Tools Command Prompt"):

$ cd Sourcetrail
$ cmake --preset vcpkg-release

Note that the initial compilation of the vcpkg packages (especially LLVM) will take a long time!

[!TIP] Download a binary release.

Build:

$ cd ../build/vcpkg-release
$ cmake --build .

System build

Linux

To compile it under (K)ubuntu 26.04:

  • Install the required dependencies with scripts/install-system-build-dependencies.sh.

Prepare the build:

$ cd Sourcetrail
$ cmake --preset system-release

Build:

$ cd ../build/system-release
$ cmake --build .

Windows

System build is not tested and therefore not supported.

macOS

System build is not tested and therefore not supported.

petermost/Sourcetrail

Sourcetrail - free and open-source interactive source explorer

C++

763

3,059 commits

updated Oct 12, 2026

See the code

README

Sourcetrail

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

  • Free
  • Working offline
  • Supporting C/C++ and Java
  • Operating on Linux, Windows (and macOS)
  • Offering a SDK (SourcetrailDB) to write custom language extensions

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

"Sourcetrail User Interface"

Important

This project was archived by the original authors and maintainers of Sourcetrail by the end of 2021. You can read more about this decision in this blog entry.

This is a fork of the Sourcetrail project and I want to keep this project at least buildable.

[!NOTE]

Maintenance Status (2026-08-01)

For almost two years, I was able to work full-time on Sourcetrail. But now that I have started working on a new customer project, I won't have as much time for Sourcetrail as I did in the past. I'm still committed to keeping Sourcetrail up to date and buildable, as I stated in my original statement above, but development will slow down somewhat.

Contents

⭐ Sponsoring

If you like the changes I've done so far, then please consider sponsoring me.

By sponsoring me with $10 per month, you will gain access to the following binary releases in appreciation of your support:

  • Sourcetrail
  • 🆕 Visual Studio 2026 Extension
  • 🆕 QtCreator 18/19 Plugin

Binary Releases

NamePlatformPackagingBuild
SourcetrailLinuxZIP Archive, Debian PackageVcpkg, System
SourcetrailWindowsZIP ArchiveVcpkg
Visual Studio 2026 ExtensionWindowsVSIX Package
Qt Creator 18/19 PluginLinux/WindowsZIP Archive

Sourcetrail used/tested/supported libraries:

General

NameSystemVcpkg
Qt66.10.26.11.1
Boost1.90.01.91.0
SQLite33.46.13.53.4
TinyXML2.6.22.6.2

C++

NameSystem/Vcpkg
Clang/LLVM21.1.2

Java

NameSystem/Vcpkg
Eclipse JDT3.42
Maven3.9.9
Gradle9.3.1

Tests

NameSystemVcpkg
Catch23.7.13.15.3
GTest1.17.01.18.0

Changes

2026.10

  • Indexing: Improve performance of Updated files check
  • Framework: Fix crash in MessageQueue::unregisterListener (#72)
  • Logging: Prevent Windows console when starting via Explorer
  • Logging: Don't enable logging by default on initial start
  • Indexing: Remove Python support

2026.6

  • C/C++: Add indexing of C-style casts
  • Logging: Fix deletion of old log files
  • C/C++: Updates for LLVM/Clang 21.1.2
  • C/C++: Restore support for Visual Studio 2010 to 2015

2026.4

  • GUI: Add +/- buttons to trail depth control (Thanks to @tszwinglitw for the initial code)
  • GUI: Fix missing shortcut for Exit menu entry under Windows
  • GUI: Resize the view title bar widgets to fit better with other widgets (#66)
  • GUI: Enable screen scaling for Windows

2025.12.8

  • C++: Add indexing of structured binding declarations
  • C++: Add indexing of auto prvalue casts
  • GUI: Fix error/status view not cleared between indexing (#51)
  • C/C++: Replace msvc mulitithreading library switches with corresponding clang switch
  • C/C++: Add Visual Studio 2026 support
  • Database: Enable simple database performance improvement
  • Python: Remove non-working Python support
  • C/C++: Remove support for Visual Studio 2010 to 2015

2025.10.13

  • C/C++: Add indexing of concept type constraints
  • C/C++: Add indexing of abbreviated function templates
  • C/C++: Use correct keyword for template template parameters (clang/LLVM >= 20)

2025.9.9

  • C/C++: Add indexing of auto return types
  • GUI: Allow tab closing with middle mouse click
  • GUI: Improve layout of license window content
  • GUI: Add Open to context menu of start window

2025.7.11

2025.6.19

  • GUI: Allow removing projects from the Recent Projects list
  • GUI: Fix highlighting of Text and On-Screen search results for UTF-16/UTF-32 text
  • GUI: Show configured text encoding in the status bar
  • Internal: Switch to 'UTF-8 Everywhere'
  • Internal: Switch to Qt resource system for most GUI resources

2025.5.1

  • GUI: Fix handling of Esc/Return keys for dialogs (Indexing, Bookmark, etc.) (Fixes issue 27)
  • GUI: Activate bookmark with double click and close bookmark manager
  • GUI: Highlight the taskbar entry when indexing has finished
  • GUI: Show indexing progress in window title
  • GUI: Added tooltips or prompt texts to many widgets

2025.4.1

  • Java: Add Support for record classes
  • macOS: Fix vcpkg build. Thanks to ChristianWieden for the help

2025.3.3

  • Java: Add support for Eclipse JDT 3.40 (Java 23)
  • Java: Update Gradle support to 8.12

2025.1.28

  • C/C++: Add support for Clang 19 (C++23).
  • C/C++: Re-enable detection of non-trivial destructor calls.
  • Fix: Keep the console window open when logging is enabled.
  • Framework: Replace/Remove last Qt5 dependency.

2024.9.23

2024.8.2

  • GUI: Remove qt.conf which seems to improve the menu font rendering under Windows

2024.7.3

  • GUI: Fix non-working dialogs i.e. the selected action weren't executed
  • C/C++: Disabled indexing of non-trivial destructor calls. See #7 (comment) for further details.

2024.7.2

  • Installation: Add Debian packaging

2024.7.1

  • C/C++: Add indexing of the deduced type of auto variables
  • C/C++: Add indexing of user defined conversion operators
  • C/C++: Add indexing of non-trivial destructor calls

2024.7.0

  • C/C++: Update libClang/LibTooling to Clang 18

2024.6.0

  • C/C++: Add indexing of the deduced type of auto variables

2024.05.9

  • C/C++: Add indexing of user defined conversion operators
  • C/C++: Update support for C++ standards C++20, C++23
  • C/C++: Update detection of 'Global Include Paths' for Visual Studio 2017, 2019, 2022
  • Java: Generalize detection of JRE/JVM
  • Java: Generalize detection of Maven
  • Java: Update support for Java Standard 16, 17, 18, 19, 20
  • Framework: Update libClang/LibTooling to Clang 16/17
  • Framework: Switch from Qt5 to Qt6

2021.4.19 - 0.3.0

Coati Changelog

Building

There are 2 ways to build the project:

  1. With vcpkg provided packages (Vcpkg build)
  2. With the system provided packages (System build)

Cloning

It is important to clone the repository with the submodules and the symlinks:

git clone https://github.com/petermost/Sourcetrail.git --recurse-submodules --config core.symlinks=true

and get the updates with:

git pull --recurse-submodules

Vcpkg Build

Depending on the platform and the selected indexer, additional software/packages must be installed.

Prepare the build in a terminal or command prompt ("x64 Native Tools Command Prompt"):

$ cd Sourcetrail
$ cmake --preset vcpkg-release

Note that the initial compilation of the vcpkg packages (especially LLVM) will take a long time!

[!TIP] Download a binary release.

Build:

$ cd ../build/vcpkg-release
$ cmake --build .

System build

Linux

To compile it under (K)ubuntu 26.04:

  • Install the required dependencies with scripts/install-system-build-dependencies.sh.

Prepare the build:

$ cd Sourcetrail
$ cmake --preset system-release

Build:

$ cd ../build/system-release
$ cmake --build .

Windows

System build is not tested and therefore not supported.

macOS

System build is not tested and therefore not supported.

Significant stargazers

Erik Scholz

122 followers · starred Jun 2026

Masatake YAMATO

131 followers · starred Apr 2025

Denis Kasak

86 followers · starred Jan 2024

van Hauser

3,771 followers · starred Jun 2024