• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

apps/H03-May-2022-6,7904,743

cmake/H03-May-2022-421346

doc/H03-May-2022-42

i18n/H03-May-2022-160,554160,248

img/H03-May-2022-310296

libs/H03-May-2022-379,909240,931

share/H03-May-2022-12,4449,811

tests/H03-May-2022-80,76863,410

AUTHORS.mdH A D02-Nov-2021744 2015

CONTRIBUTING.mdH A D02-Nov-20214.6 KiB9375

README.mdH A D02-Nov-20215.7 KiB161111

README.md

1# LibrePCB
2
3[![Azure Build Status](https://dev.azure.com/LibrePCB/LibrePCB/_apis/build/status/LibrePCB.LibrePCB?branchName=master)](https://dev.azure.com/LibrePCB/LibrePCB/_build/latest?definitionId=2&branchName=master)
4[![Become a Patron](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/librepcb)
5[![Donate with Bitcoin](https://img.shields.io/badge/bitcoin-donate-yellow.svg)](https://blockchain.info/address/1FiXZxoXe3px1nNuNygRb1NwcYr6U8AvG8)
6[![irc.freenode.net](https://img.shields.io/badge/IRC-%23librepcb-blue.svg)](https://webchat.freenode.net/?channels=#librepcb)
7
8
9## About LibrePCB
10
11LibrePCB is a free
12[EDA](https://en.wikipedia.org/wiki/Electronic_design_automation) software to
13develop printed circuit boards. It runs on Linux, Windows and Mac. The project
14is still in a rather early development stage. See
15[Project Status](https://docs.librepcb.org/#projectstatus) for more information
16about the currently available features, limitations and known bugs.
17
18![Screenshot](doc/screenshot.png)
19
20### Features
21
22- Cross-platform (Unix/Linux/BSD/Solaris, macOS, Windows)
23- Multilingual (both application and library elements)
24- All-In-One: project management + library/schematic/board editors
25- Intuitive, modern and easy-to-use graphical user interface
26- Very powerful library design with some innovative concepts
27- Human-readable file formats for both libraries and projects
28- Multi-PCB feature (different PCB variants of the same schematic)
29- Automatic netlist synchronisation between schematic and board
30
31
32## Installation & Usage
33
34**Official stable releases are provided at our
35[download page](https://librepcb.org/download/).**
36
37**Please read our [user manual](https://docs.librepcb.org/) to see how you can
38install and use LibrePCB.**
39The [Getting Started](https://docs.librepcb.org/#gettingstarted) guide
40gives you a quick introduction to LibrePCB.
41
42
43## Contributing
44
45Contributions are welcome! See our [Contributing Guide](CONTRIBUTING.md) for
46details.
47
48For internal details take a look at the
49[automatically generated documentation (doxygen)](https://doxygen.librepcb.org/)
50
51## Development
52
53***WARNING: The `master` branch always contains the latest UNSTABLE version of
54LibrePCB. Everything you do with this unstable version could break your
55workspace, libraries or projects, so you should not use it productively! For
56productive use, please install an official release as described in the
57[user manual](https://docs.librepcb.org/). For development, please read details
58[here](https://developers.librepcb.org/df/d30/doc_developers.html#doc_developers_unstable_versions).***
59
60Instead of building LibrePCB manually, Arch Linux users could install the
61package [librepcb-git](https://aur.archlinux.org/packages/librepcb-git/) from
62the AUR. The package clones and builds the latest (unstable!) version of the
63`master` branch from GitHub.
64
65### Requirements
66
67To compile LibrePCB, you need the following software components:
68
69- g++ >= 4.8, MinGW >= 4.8, or Clang >= 3.3 (C++11 support is required)
70- [Qt](http://www.qt.io/download-open-source/) >= 5.5
71- [zlib](http://www.zlib.net/)
72- [OpenSSL](https://www.openssl.org/)
73- [CMake](https://cmake.org/) 3.5 or newer
74
75#### Prepared Docker Image
76
77Instead of installing the dependencies manually on your system (see instructions
78below), you can also use one of our
79[Docker images](https://hub.docker.com/r/librepcb/librepcb-dev) with all
80dependencies pre-installed (except GUI tools like QtCreator). These images are
81actually used for CI, but are also useful to build LibrePCB locally.
82
83#### Installation on Debian/Ubuntu/Mint
84
85```bash
86sudo apt-get install git build-essential qt5-default qttools5-dev-tools qttools5-dev \
87     libglu1-mesa-dev openssl zlib1g zlib1g-dev libqt5opengl5-dev libqt5svg5-dev cmake
88sudo apt-get install qt5-doc qtcreator # optional
89```
90
91#### Installation on Arch Linux
92
93```bash
94sudo pacman -S git base-devel qt5-base qt5-svg qt5-tools desktop-file-utils shared-mime-info \
95     openssl zlib cmake
96sudo pacman -S qt5-doc qtcreator # optional
97```
98
99#### Installation on Mac OS X
100
1011. Install Xcode through the app store and start it at least once (for the license)
1022. Install [homebrew](https://github.com/Homebrew/brew) (**the** package manager)
1033. Install *qt5* and *cmake*: `brew update && brew install qt5 cmake`
1044. Make the toolchain available: `brew unlink qt && brew link --force qt5`
105
106#### Installation on Windows
107
108Download and run the
109[Qt for Windows (MinGW) installer](http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-windows-x86-mingw530-5.8.0.exe)
110from [here](https://www.qt.io/download-open-source/). LibrePCB does not compile
111with MSVC, so you must install following components with the Qt installer:
112
113- The MinGW compiler itself
114- The Qt libraries for MinGW
115- cmake
116
117### Cloning
118
119It's important to clone the repository recursively to get all submodules too:
120
121```bash
122git clone --recursive https://github.com/LibrePCB/LibrePCB.git && cd LibrePCB
123```
124
125### Updating
126
127When updating the repository, make sure to also update all the submodules
128recursively. Otherwise you may get strange compilation errors:
129
130```bash
131git submodule update --init --recursive
132```
133
134### Building
135
136You can either build LibrePCB using Qt Creator, or you can build on the command
137line using cmake. To build LibrePCB using cmake/make:
138
139```bash
140mkdir build && cd build
141cmake ..
142make -j8
143```
144
145The binary can then be found in `build/apps/librepcb/`.
146
147For more detailed instructions (including how to set up Qt Creator), see
148https://developers.librepcb.org/d5/d96/doc_building.html
149
150
151## Credits
152
153- First of all, many thanks to all of our [contributors](AUTHORS.md)!
154- Thanks also to [cloudscale.ch](https://www.cloudscale.ch/) for sponsoring our
155  API server!
156
157
158## License
159
160LibrePCB is published under the [GNU GPLv3](http://www.gnu.org/licenses/gpl-3.0.html) license.
161