C++ Other
Clone or download
Permalink
Failed to load latest commit information.
.github Add GitHub issue template (#251) Apr 11, 2018
.tx Use Transifex for translations Jun 2, 2018
apps ControlPanel: Fix possible stale locks on application exit Jul 9, 2018
ci Change build output path to "./output" Jul 4, 2018
dev Update submodule "demo-workspace" Jun 30, 2018
dist/installer Add initial installer May 26, 2018
doc README: Clarify configuration of Qt Creator Jan 25, 2018
i18n Use Transifex for translations Jun 2, 2018
img Replace ellipses by circles: Rename classes Jun 23, 2018
libs Fix wrong mouse button check in editors Jul 9, 2018
share Ignore generated *.qm translation files Jul 4, 2018
tests SQLiteDatabaseTest: Fix possible failure on Windows Jul 9, 2018
.editorconfig added .editorconfig Mar 7, 2016
.gitattributes Add .gitattributes to avoid automatic EOL conversion Aug 22, 2016
.gitbugtraq Add .gitbugtraq Oct 8, 2017
.gitignore Remove all translation files Jun 2, 2018
.gitmodules Add submodule "share/librepcb/fonts" Jun 30, 2018
.travis.yml Use Transifex for translations Jun 2, 2018
AUTHORS.md AUTHORS: Fix wrong hyperlink of username Oct 7, 2017
CONTRIBUTING.md Change build output path to "./output" Jul 4, 2018
LICENSE.txt added readme file to each subdirectory Jan 9, 2016
README.md Change build output path to "./output" Jul 4, 2018
appveyor.yml Build installer on CI May 26, 2018
common.pri Remove useless things from qmake project files Jul 4, 2018
librepcb.pro Remove all translation files Jun 2, 2018

README.md

LibrePCB

Travis Build Status AppVeyor Build Status Become a Patron Donate with Bitcoin irc.freenode.net

About LibrePCB

LibrePCB is a free EDA software to develop printed circuit boards. It runs on Linux, Windows and Mac. The project is still in a quite early development stage (no stable release available). See Project Status for more information about the currently available features, limitations and known bugs.

Screenshot

Features

  • Cross-platform (Unix/Linux, Mac OS X, Windows)
  • Multilingual (both application and library elements)
  • All-In-One: project management + library/schematic/board editors
  • Intuitive, modern and easy-to-use graphical user interface
  • Very powerful library design with some innovative concepts
  • Human-readable file formats for both libraries and projects
  • Multi-PCB feature (different PCB variants of the same schematic)
  • Automatic netlist synchronisation between schematic and board

Installation & Usage

Warning: Because LibrePCB's file format is not yet considered as stable (i.e. breaking changes can occur), you should not yet use LibrePCB productively!

Please read our user manual to see how you can install and use LibrePCB. The Getting Started guide gives you a quick introduction to LibrePCB.

In addition to the installation methods described in the user manual, Arch Linux users can also install the package librepcb-git from the AUR. The package clones and builds the latest (unstable!) version of the master branch from GitHub.

Contributing

Contributions are welcome! See our Contributing Guide for details.

For internal details take a look at the automatically generated documentation (doxygen)

Development

Requirements

To compile LibrePCB, you need the following software components:

  • g++ >= 4.8, MinGW >= 4.8, or Clang >= 3.3 (C++11 support is required)
  • Qt >= 5.2
  • zlib
  • OpenSSL

Prepared Docker Image

Instead of installing the dependencies manually on your system (see instructions below), you can also use our Docker image with all dependencies pre-installed. Just follow these instructions.

Installation on Debian/Ubuntu/Mint

sudo apt-get install git build-essential qt5-default qttools5-dev-tools libglu1-mesa-dev openssl zlib1g zlib1g-dev
sudo apt-get install qt5-doc qtcreator # optional

Installation on Arch Linux

sudo pacman -S git base-devel qt5-base qt5-tools desktop-file-utils shared-mime-info openssl zlib
sudo pacman -S qt5-doc qtcreator # optional

Installation on Mac OS X

  1. Install Xcode through the app store and start it at least once (for the license)
  2. Install homebrew (the package manager)
  3. Install qt5: brew update && brew install qt5
  4. Make the toolchain available: brew unlink qt && brew link --force qt5

Installation on Windows

Download and run the Qt for Windows (MinGW) installer from here. LibrePCB does not compile with MSVC, so you must install following components with the Qt installer:

  • The MinGW compiler itself
  • The Qt libraries for MinGW

Cloning

It's important to clone the repository recursively to get all submodules too:

git clone --recursive https://github.com/LibrePCB/LibrePCB.git && cd LibrePCB

Building

Using Qt Creator

Building with Qt Creator is probably the easiest way. Simply open the librepcb.pro file.

When opening a project in Qt Creator for the first time, you need to configure the Desktop kit:

qtcreator_run

Click on the "Configure Project" button to get started.

Note: To keep build time as low as possible make sure to set the correct make flags to use all available CPU cores to build. See this stackoverflow answer.

Using qmake and make

Since Qt Creator is also using qmake and make to build, it's easy to do the same on the command line:

mkdir build && cd build
qmake -r ../librepcb.pro
make -j 8

Run LibrePCB

From Qt Creator

Select the run configuration librepcb and click on the Run button:

qtcreator_run

From Command Line

Execute inside the build directory:

./output/librepcb             # Unix/Linux
open ./output/librepcb.app    # Mac OS X
output\librepcb.exe           # Windows

Installation

On a Unix/Linux system, LibrePCB can be installed with sudo make install.

Workspace

At the first startup, LibrePCB asks for a workspace directory where the library elements and projects are located. For developers there is a demo workspace inclusive some libraries and projects in the submodule dev/demo-workspace/.

Credits

License

LibrePCB is published under the GNU GPLv3 license.