Building on Linux¶
Building horizon on Linux is as simple as make
after you’ve cloned
this repo.
Install dependencies¶
Make sure you got these dependencies installed:
Gtkmm3 ≥ 3.20
cairomm-pdf
librsvg
util-linux
sqlite
boost
zeromq
glm
libgit2
curl
opencascade / opencascade community edition
zeromq with C++ bindings: https://github.com/zeromq/cppzmq
podofo
libarchive
libspnav
The C++ compiler needs to support std::filesystem
, for GCC this
requires version 8 or newer.
On Ubuntu ≥18.04 run:
sudo apt install libsqlite3-dev util-linux librsvg2-dev \
libcairomm-1.0-dev libepoxy-dev libgtkmm-3.0-dev uuid-dev libboost-dev \
libzmq5 libzmq3-dev libglm-dev libgit2-dev libcurl4-gnutls-dev liboce-ocaf-dev \
libpodofo-dev libarchive-dev libspnav-dev
On Arch Linux:
sudo pacman -S zeromq gtkmm3 cairomm librsvg sqlite3 libgit2 curl \
opencascade boost glm podofo libarchive libspnav
On Fedora:
sudo dnf install git make gcc gcc-c++ pkg-config cppzmq-devel opencascade-devel\
gtkmm30-devel libgit2-devel libuuid-devel sqlite-devel librsvg2-devel\
cairomm-devel glm-devel boost-devel libcurl-devel podofo-devel libarchive-devel\
libspnav-devel
On openSUSE Tumbleweed:
sudo zypper in git make gcc gcc-c++ pkg-config cppzmq-devel oce-devel\
gtkmm3-devel libgit2-devel libuuid-devel sqlite3-devel librsvg-devel\
cairomm-devel glm-devel boost-devel libcurl-devel libpodofo-devel binutils-gold libarchive-devel\
libspnav-devel
On Solus:
sudo eopkg it -c system.devel
sudo eopkg it binutils-gold git glibc curl-devel libgtkmm-3-devel librsvg-devel \
util-linux-devel sqlite3-devel libboost-devel zeromq-devel glm libgit2-devel \
opencascade-ce-devel podofo-devel libarchive-devel cppzmq-devel
Build it¶
make -j 4 #adjust this to the number of CPU cores
Add WITH_SPNAV=0
to disable space navigator support and remove the dependency on libspnav
Running¶
The resulting binaries are self-contained and don’t require any external
data files like icons or so.
horizon-eda
is the main program executable. Run it from the build
directory:
build/horizon-eda