Fixes #10926 Contains the following changes: - Adds a new ERC_SCH_PIN_CONTEXT class which is used to provide deterministic comparison between items causing ERC violations (e.g. pins) when associated with a SCH_SHEET_PATH context. - Adds association of SCH_SHEET_PATHs for ERC_ITEMs and the sub-schematic items which caused an ERC violation. This allows correct display of markers on the sheets of interest only, and allows correct naming resolution and cross-probing from the ERC dialog. - Adds a new ERC_TREE_MODEL class, derived from RC_TREE_MODEL, which correctly resolves component references across heirarchical sheets using the associated SCH_SHEET_PATHs. This allows sheet-specific component references to be displayed correctly in the ERC results tree. - Updates SCH_MARKER to only draw sheet-specific markers on the sheet causing an ERC violation. - Increments the schematic file version. - When loading a schematic with legacy ERC exclusions, discards those of type ERCE_PIN_TO_PIN_WARNING, ERCE_PIN_TO_PIN_ERROR, ERCE_HIERACHICAL_LABEL, and ERCE_DIFFERENT_UNIT_NET as there is no safe way to automatically infer the information which is now stored with these exclusions (sheet paths for error location and related items). Requiring users to (once) re-add exclusions is preferable to silently incorrectly matching new ERC issues to legacy exclusions. |
||
---|---|---|
.githooks | ||
.github | ||
.gitlab | ||
3d-viewer | ||
bitmap2component | ||
cmake | ||
common | ||
cvpcb | ||
demos | ||
doxygen | ||
eeschema | ||
gerbview | ||
include | ||
kicad | ||
libs | ||
pagelayout_editor | ||
pcb_calculator | ||
pcbnew | ||
plugins | ||
qa | ||
resources | ||
scripting | ||
signing | ||
thirdparty | ||
tools | ||
translation | ||
utils | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
AUTHORS.txt | ||
CMakeLists.txt | ||
CMakeSettings.json.sample | ||
CONTRIBUTING.md | ||
INSTALL.txt | ||
LICENSE | ||
LICENSE.3-CLAUSE-BSD | ||
LICENSE.APACHE-2.0 | ||
LICENSE.BOOSTv1_0 | ||
LICENSE.CC-BY-SA-4.0 | ||
LICENSE.CC0 | ||
LICENSE.GPLv3 | ||
LICENSE.ISC | ||
LICENSE.MIT | ||
LICENSE.README | ||
README.md | ||
_clang-format | ||
code-of-conduct.md | ||
copyright.h | ||
uncrustify.cfg | ||
vcpkg-configuration.json | ||
vcpkg.json |
README.md
KiCad README
For specific documentation about building KiCad, policies and guidelines, and source code documentation see the Developer Documentation website.
You may also take a look into the Wiki, the contribution guide.
For general information about KiCad and information about contributing to the documentation and libraries, see our Website and our Forum.
Build state
KiCad uses a host of CI resources.
GitLab CI pipeline status can be viewed for Linux and Windows builds of the latest commits.
Release status
Files
- AUTHORS.txt - The authors, contributors, document writers and translators list
- CMakeLists.txt - Main CMAKE build tool script
- copyright.h - A very short copy of the GNU General Public License to be included in new source files
- Doxyfile - Doxygen config file for KiCad
- INSTALL.txt - The release (binary) installation instructions
- uncrustify.cfg - Uncrustify config file for uncrustify sources formatting tool
- _clang-format - clang config file for clang-format sources formatting tool
Subdirectories
- 3d-viewer - Sourcecode of the 3D viewer
- bitmap2component - Sourcecode of the bitmap to PCB artwork converter
- cmake - Modules for the CMAKE build tool
- common - Sourcecode of the common library
- cvpcb - Sourcecode of the CvPCB tool
- demos - Some demo examples
- doxygen - Configuration for generating pretty doxygen manual of the codebase
- eeschema - Sourcecode of the schematic editor
- gerbview - Sourcecode of the gerber viewer
- include - Interfaces to the common library
- kicad - Sourcecode of the project manager
- libs - Sourcecode of KiCad utilities (geometry and others)
- pagelayout_editor - Sourcecode of the pagelayout editor
- patches - Collection of patches for external dependencies
- pcbnew - Sourcecode of the printed circuit board editor
- plugins - Sourcecode for the 3D viewer plugins
- qa - Unit testing framework for KiCad
- resources - Packaging resources such as bitmaps and operating system specific files
- bitmaps_png - Menu and program icons
- project_template - Project template
- scripting - Python integration for KiCad
- thirdparty - Sourcecode of external libraries used in KiCad but not written by the KiCad team
- tools - Helpers for developing, testing and building
- translation - Translation data files (managed through Weblate for most languages)
- utils - Small utils for KiCad, e.g. IDF, STEP, and OGL tools and converters