# Clone and build Inkscape executable for noobs

Based on the [official building sources](https://gitlab.com/inkscape/inkscape/-/blob/master/INSTALL.md?ref_type=heads) of Inkscape on how to compile, this is some extended note on how to clone a specific commit of another branch, for instance when trying to test a developer's feature implementation, which is not yet merged into master branch.

## Clone the repository

```
cd ~/
git clone https://gitlab.com/inkscape/inkscape.git
```

## Install prequisites

[https://gitlab.com/inkscape/inkscape-ci-docker/-/raw/master/install\_dependencies.sh?inline=false](https://gitlab.com/inkscape/inkscape-ci-docker/-/raw/master/install_dependencies.sh?inline=false)

## Get the desired commit / branch

```
cd ~/inkscape/
git remote add pbs https://gitlab.com/pbs3141/inkscape.git
git fetch pbs

#look for the branch if its available npw
git branch -r | grep "split-nonintersecting"
git checkout pbs/split-nonintersecting
git status
git log
git pull --recurse-submodules && git submodule update
```

## Build

```
mkdir build
cd build
cmake -S .. -B . -DCMAKE_INSTALL_PREFIX=${PWD}/install_dir -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
make -j8
make install
```

## Run

```
~/inkscape/build/bin/inkscape
```