KiCad installation
==================

The parts of KiCad
------------------

  KiCad consists of 3 components:

  kicad         - KiCad programs and core files.
  kicad-doc     - Documentation and interactive help (optional package).
  kicad-library - Schematic symbol, PCB footprint, and 3D model libraries (optional package).

  This repository contains the source code for the main KiCad programs. The documentation
  and library sources are available at https://gitlab.com/kicad


Installation from binary packages
---------------------------------

  Compiled KiCad binaries exist for Windows (8.1, 10), macOS (10.14+), and several
  Linux distributions (Fedora, Debian, Ubuntu, Arch). These are available from the
  main KiCad website: https://kicad.org/download/

  Data files (schematics, boards, libraries) are compatible with all platforms.


Installation from binary packages for Windows
---------------------------------------------

  KiCad can be installed anywhere on the system as long as the user has write privileges.
  Pre-made installers are available on the KiCad website: https://kicad.org/download/windows/


Installation from binary packages for Linux
-------------------------------------------

  KiCad comes packaged on many Linux platforms including Debian, Fedora, Ubuntu and Arch,
  and is available in their respective package repositories. More information can be found on
  the platform's page at https://kicad.org/download/


Linux install tree
-------------------------------------

  The default locations KiCad uses to install its components on Linux are:

  ${prefix}/bin                    - Binaries (executable files).
  ${prefix}/lib/kicad              - Shared libraries.
  ${prefix}/share/doc/kicad        - Various documentation.
  ${prefix}/share/doc/kicad/help   - Interactive help.
  ${prefix}/share/kicad/demos      - Sample schematics and printed boards.
  ${prefix}/share/kicad/template   - Template projects and sheets.
  ${prefix}/share/kicad/library    - Schematic symbol libraries.
  ${prefix}/share/kicad/modules    - PCB footprint libraries.
  ${prefix}/share/kicad/3dmodels   - 3D component models (.wrl and .step format).
  ${prefix}/share/kicad/resources  - Resource files (images, etc).

  Warning:
  Do not change the KiCad tree, or the location of binary files.  Otherwise
  KiCad may not be able to find some or all of its required files.


macOS KiCad tree
----------------

  System wide files

  /Library/Application Support/kicad/help
  /Library/Application Support/kicad/template
  /Library/Application Support/kicad/library
  /Library/Application Support/kicad/modules
  /Library/Application Support/kicad/3dmodels

  User files can be the same as the system wide files but only inside the user's home directory.

  $HOME/Library/Application Support/kicad

  Warning:
  These paths are hardcoded into KiCad, if you put them somewhere else KiCad will not find
  them when a new project is created.


Installation from source code
-----------------------------

  Currently the only supported compilers are GCC on Linux and Windows and Clang on macOS.

  Some dependencies must be satisfied for the correct installation of KiCad:

  wxWidgets            >= 3.0.0           http://www.wxwidgets.org/

  CMake                >= 3.10.0          https://www.cmake.org/

  Boost C++ Libraries  >= 1.59            https://www.boost.org/

  OpenGL               >= 2.1
    Linux:   Mesa 3D Graphics Library     http://www.mesa3d.org/
    Windows: built-in

  Zlib Compression Library                http://www.zlib.net/

  cairo                >= 1.12            http://cairographics.org/

  GLEW                                    http://glew.sourceforge.net/

  libcurl                                 http://curl.haxx.se/

  OpenMP               (optional)         http://openmp.org/

  GLM                  >= 9.5.4           http://glm.g-truc.net/

  pkg-config                              http://pkgconfig.freedesktop.org/

  Doxygen              (optional)         http://www.doxygen.nl

  Python               >= 2.6 (optional)  https://python.org/

  wxPython             (optional)         http://www.wxpython.org/

  SWIG                 >= 3.0 (optional)  http://swig.org/

  libngspice           (optional)         http://ngspice.sourceforge.net/

  One of:
    OCE                >= 0.18 (optional) https://github.com/tpaviot/oce

    OCC                >= 6.9.0 (optiona) https://www.opencascade.com/content/latest-release

  Complete documentation for building from source can be found at: https://dev-docs.kicad.org/


Important parameters to CMake
-----------------------------

  See https://dev-docs.kicad.org/en/build/compile-options/ for a list of all compile options.

  -DCMAKE_BUILD_TYPE=<buildtype>
  <buildtype> may be one of "Debug", "Release", or "RelWithDebInfo".

  -DCMAKE_INSTALL_PREFIX=<prefix>
  Default to "/usr/local".

  -DwxWidgets_ROOT_DIR=<wxInstallDir>
  Required for Windows platform.

  -DwxWidgets_USE_DEBUG=ON
  Can be used only with -DCMAKE_BUILD_TYPE=Debug

  -DCMAKE_CXX_FLAGS=<some extra flags>
  Extra flags for the C++ compiler required for your system.

  -DCMAKE_VERBOSE_MAKEFILE=ON
  When more output is wanted use this cmake parameter or call "make VERBOSE=1".


Extra CFLAGS and linker flags
-----------------------------

    If you require extra flags for compiler and linker you may give them via
    environment variables
      "CXXFLAGS" (c++ compiler)
      "LDFLAGS"  (for linker)
      "CFLAGS"   (for c-compiler, not needed in kdesvn build)