Coder Social home page Coder Social logo

abyssperl / sourcetrail Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coatisoftware/sourcetrail

0.0 1.0 0.0 277.37 MB

Sourcetrail - free and open-source interactive source explorer

Home Page: https://www.sourcetrail.com/

License: GNU General Public License v3.0

CMake 0.73% C++ 55.91% C 27.81% CSS 0.27% Batchfile 0.01% Java 14.60% Python 0.06% Objective-C 0.06% Dockerfile 0.04% C# 0.04% XSLT 0.01% Shell 0.48%

sourcetrail's Introduction

Sourcetrail

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

Links

"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.

Reporting

Use the following template:

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

Supporting

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

  • post a comment with "+1" to the issue
  • or send an email to [email protected] with the issue ID

How to Contribute

  • Please read and follow the steps in CONTRIBUTING.md 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

Git

This is required for generating the Sourcetrail version number. Get it from: https://git-scm.com/download.

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: https://cmake.org/download/

Additional tools for Windows

Visual Studio

Additional tools for Unix

ccache

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 sourceforge.net/projects/boost/files/boost-binaries

For building on Unix:

$ ./bootstrap.sh --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 download.qt.io/official_releases/qt

Building

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

Running

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

Windows

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.

Unix

For Unix, follow this installation guide

Build with -DLLVM_ENABLE_RTTI=ON.

Building

Run CMake with these additional options:

-DClang_DIR=<path/to/llvm_build/lib/cmake/clang>
-DBUILD_CXX_LANGUAGE_PACKAGE=ON

Enable Java Language Support

Required dependencies

JDK 1.8

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

JAVA_HOME=.../Java/jdk1.x.x_xxx

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

Maven

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

M2_HOME=.../apache-maven-x.x.x
MAVEN_HOME=.../apache-maven-x.x.x

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

Building

Run CMake with these additional options:

-DBUILD_JAVA_LANGUAGE_PACKAGE=ON

Enable Python Language Support

Required dependencies

WinRAR (for Windows only)

Building

Run CMake with these additional options:

-DBUILD_PYTHON_LANGUAGE_PACKAGE=ON

Packaging

Windows

Required Tools

Visual Studio
Wix 3.11
Wix extension for Visual Studio
WinRAR

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/deploy_windows.sh script which will generate 32bit/64bit builds and packages these into a portable .zip file and a Wix-based Windows installer, each.

macOS

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

Linux

Run ./script/buildonly.sh 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.

License

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

Trademark

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

sourcetrail's People

Contributors

egraether avatar mlangkabel avatar st4ll1 avatar wrongway88 avatar jubalh avatar waqar144 avatar technateng avatar alvoda avatar ttimo avatar bterrier avatar dhallas avatar manouchehri avatar mytbk avatar janisozaur avatar r-ligier avatar jondo avatar boltomli avatar ssa3512 avatar aoloe avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.