Browse Source
Create markdown version of compiling KiCad for developer documentation.
Create markdown version of compiling KiCad for developer documentation.
* Add compiling.md with most of the important information from the plain text versions of platform specific compiling files. * Remove the old plain text compiling files and folder.pull/7/head
7 changed files with 392 additions and 862 deletions
-
219Documentation/compiling/COMPILING.txt
-
192Documentation/compiling/build-config.txt
-
229Documentation/compiling/build-msw.txt
-
221Documentation/compiling/mac-osx.txt
-
3Documentation/development/Doxyfile
-
389Documentation/development/compiling.md
-
1Doxyfile
@ -1,219 +0,0 @@ |
|||
Compiling KiCad from Source |
|||
=========================== |
|||
KiCad Documentation Team |
|||
Last revised on 2014-december-24 by JP Charras |
|||
|
|||
Introduction |
|||
------------ |
|||
This is a generic guide how to compile kicad from scratch. On windows and linux. |
|||
If you need something more distribution specific or the experimental mac-osx port |
|||
read the other documents in the Documentation/compiling folder. |
|||
|
|||
Installation of Tools |
|||
--------------------- |
|||
On windows: |
|||
|
|||
Get msys and mingw here: |
|||
http://mingw.org/ |
|||
msys sets up a development environment that allows the bash shell to run. |
|||
mingw are a set of tools that run on windows or under msys. You will need |
|||
at least the following mingw packages: make, gcc, g++, binutils, autoconf, and |
|||
automake. |
|||
|
|||
On linux: |
|||
|
|||
Install "mesa". Use your package manager to install the |
|||
development libaries. |
|||
|
|||
After a fresh install you need the following packages to compile and run |
|||
KiCad from source. |
|||
|
|||
* bzr - Bazaar version control system |
|||
* CMake - Cross-platform make |
|||
* GLUT - The OpenGL Utility Library |
|||
* GLEW |
|||
* wxWidgets - The wxWidgets GUI toolkit with GTK+ bindings version 3.0 or more |
|||
* libbz2 (dev) |
|||
* libcairo (dev) |
|||
|
|||
* Boost - Collection of portable C++ source libraries |
|||
boost will be automagically downloaded, copied in kicad sources tree and patched, |
|||
the first time you compile kicad. |
|||
|
|||
Useful, but not required: |
|||
* Doxygen - Documentation system for several programming languages |
|||
|
|||
Required to build Kicad with scripting (using python) support: |
|||
Python |
|||
Swig |
|||
|
|||
KiCad uses the Bazaar version control system to track source code changes, |
|||
and download the boost libraries needed by Kicad. |
|||
Be sure you bzr install also includes bzrtools. |
|||
boost libraries will be downloaded the first time you build Kicad. |
|||
|
|||
Compiler and basic development tools |
|||
------------- |
|||
Make sure g++, make and other tools are in your path. |
|||
If windows, then try running g++ and make from within your msys bash shell. |
|||
|
|||
PLEASE NOTE: g++ 4.7.1 and 4.7.2 are known to |
|||
miscompile pcbnew (it get zones wrong) with -O2; using -O1 is a suitable |
|||
workaround until they fix the compiler. |
|||
|
|||
Install or Build wxWidgets |
|||
-------------------------- |
|||
|
|||
WARNING: |
|||
see wxWidgets_patch_notes.txt for patches and issues in wxWidgets. |
|||
|
|||
On Windows, download |
|||
http://sourceforge.net/projects/wxwindows/files/3.0.2/wxWidgets-3.0.2.zip/download |
|||
or a newer version. |
|||
Do NOT use previous versions which all have annoying issues for KiCad. |
|||
Start msys so you have a bash shell. |
|||
Note also since 2.9 versions no need to build a "debug" version of the wxWidgets library, |
|||
the release and the debug version are same. |
|||
|
|||
Unzip the wxWidgets zip file into the build directory. Change directories into |
|||
there, and then: |
|||
|
|||
mkdir Release |
|||
cd Release |
|||
../configure --with-opengl |
|||
make |
|||
|
|||
and under Linux, but not under Windows: |
|||
sudo make install that install wxWidgets libs and headers in /usr/local/ |
|||
|
|||
|
|||
On linux, yo can also download wxWidgets 3.0 (recommandedd) |
|||
or you can use your package manager to install the |
|||
development versions of the wxWidgets packages which include the C++ headers. |
|||
The recommended way is to build wxWidgets from source, and use wxWidgets 3.0 |
|||
or more recent (Older versions have a print function which does not work). |
|||
Verify that wx-config is in your path by running it from a command prompt. |
|||
Linux users then go to next step. |
|||
|
|||
Install CMake |
|||
------------- |
|||
On windows, download the installation binary for windows from cmake.org. |
|||
Install that and choose to add cmake to your path during installation. You |
|||
will have to restart your command shell for the new path to take effect. |
|||
Verify that cmake is in your path by trying to run it from a command prompt. |
|||
|
|||
|
|||
On linux, use your package manager to install cmake. You should get cmake 2.8.4 |
|||
or later. If only an older one is available in your package repository, build |
|||
cmake from source. Verify that cmake is in your path by trying to run it from a |
|||
command prompt. |
|||
|
|||
|
|||
Obtain Sources |
|||
-------------- |
|||
You can use the Launchpad repository or a tar file for this. See the wiki. |
|||
To download files from Launchpad repository, you should install bazaar (bzr) that is a |
|||
version control system like subversion, mercurial, git... |
|||
|
|||
Launchpad repository handle 2 branches for KiCda sources: |
|||
- a product branch (used by developers, which is most of time usable in production) |
|||
- a stable branch (a copy of the testing branch, |
|||
when the product branch is a stable state)) |
|||
Remarks: |
|||
- The product branch is actively maintained |
|||
- From the product branch, you can go back to any previous version, using bzr features |
|||
- The stable branch is poorly or not maintained (and could be removed) |
|||
|
|||
In order to have a working Kicad installtion, you need |
|||
- sources to build binaries |
|||
- libraries (they are not included in sources) |
|||
- documentation and translations (they are not included in sources) |
|||
|
|||
product branch: |
|||
bzr branch https://code.launchpad.net/~kicad-product-committers/kicad kicad_src |
|||
|
|||
Stable branch: |
|||
bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/stable kicad_src |
|||
|
|||
Components and Footprints libraries |
|||
all (schematic libs, 3D shapes ...) but new footprints libraries (use Download zip tool) |
|||
https://github.com/KiCad/kicad-library/ |
|||
|
|||
New footprints libraries (use Download zip tool for each lib you want) |
|||
https://github.com/KiCad/ for footprint libs (*.pretty folders) |
|||
|
|||
A mirror of github is available, using bzr: |
|||
(schematic libs, 3D shapes ... all but new footprints libraries) |
|||
bzr checkout lp:~kicad-product-committers/kicad/library |
|||
|
|||
Old legacy libraries: |
|||
bzr checkout lp:~dickelbeck/kicad/library-read-only |
|||
|
|||
Note also Kicad is able to read on github.com/KiCad/ the *.pretty folders |
|||
without download, using github plugin. |
|||
(however the time to read them can be long) |
|||
|
|||
Documentation and translations: |
|||
bzr branch lp:~kicad-developers/kicad/doc kicad_doc |
|||
|
|||
Create Makefiles with CMake |
|||
--------------------------- |
|||
On windows, go into your msys shell. |
|||
Linux and windows users both then make two "out of source" build directories: |
|||
cd <kicadSource> |
|||
mkdir -p build/release |
|||
mkdir build/debug (if you want a debug version of KiCad) |
|||
cd build/release |
|||
|
|||
On either cmake command line shown below, you can optionally include |
|||
-DCMAKE_INSTALL_PREFIX=<finallInstallDir> |
|||
For instance on Linux: <finallInstallDir>=/usr/local/kicad or ~/kicad |
|||
|
|||
On windows, run the following command: |
|||
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../ |
|||
Avoid installing Kicad on C: disk, which is protected by Windows. |
|||
Use D: or E: ... |
|||
|
|||
On linux, run instead the following command: |
|||
cmake -DCMAKE_BUILD_TYPE=Release ../../ |
|||
|
|||
Take a look at CMakeCache.txt, and in particular CMAKE_INSTALL_PREFIX, which |
|||
gives the final install directory. If not what you want, edit it with a text |
|||
editor and re-run the same cmake command again, but with no |
|||
-DCMAKE_INSTALL_PREFIX given on the command line. |
|||
|
|||
Compiling with Make |
|||
------------------~ |
|||
You compile Kicad here. You will only need to do step 8) again when one of the |
|||
CMakeLists.txt files change. If windows, you must be in your msys shell. |
|||
On either platform then: |
|||
|
|||
cd <kicadSource>/build/release |
|||
make |
|||
[sudo] make install |
|||
|
|||
You are now done unless you want to make a Debug build. |
|||
|
|||
|
|||
Compiling a Debug version |
|||
------------------------- |
|||
cd <kicadSource>/build/debug |
|||
|
|||
On either cmake command line shown below, you can optionally include |
|||
-DCMAKE_INSTALL_PREFIX=<finallInstallDir> before the final ../../ argument. |
|||
Although normally you do not install the Debug binaries, you can debug them |
|||
where they were built. |
|||
|
|||
On windows, run the following command: |
|||
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../ |
|||
where <wxInstallDir> is <wxWidgets path>/Release |
|||
|
|||
On linux, run instead the following command: |
|||
cmake -DCMAKE_BUILD_TYPE=Debug -DwxWidgets_USE_DEBUG=ON ../../ |
|||
|
|||
Make the Debug binaries: |
|||
make |
|||
|
|||
|
|||
See Documentation/compiling/build-config.txt for a list of all CMake options |
|||
available when compiling KiCad. |
@ -1,192 +0,0 @@ |
|||
Bazaar |
|||
====== |
|||
|
|||
KiCad uses the Bazaar version control system to track source code changes, |
|||
and download the boost libraries needed by Kicad. |
|||
The easiest way to get a copy of the KiCad source is to use Bazaar. |
|||
Bazaar can be download from http://wiki.bazaar.canonical.com. |
|||
Your best bet is to use the stand alone version of Bazaar |
|||
(which includes bzrtools, needed by Kicad) rather than one of |
|||
the Python specific versions. |
|||
Be sure bzrtools is also installed. |
|||
boost libraries will be downloaded the first time you build Kicad. |
|||
|
|||
CMake |
|||
===== |
|||
|
|||
KiCad uses CMake (version 2.12 or later) to generate the build files specific for the target platform |
|||
specified by the developer. This document attempts to define some of the more |
|||
common CMake and KiCad build configuration settings. You can use CMake either |
|||
by the command CMake on or the graphical version ccmake. This document only |
|||
documents a very small subset of the total CMake documentation For all of the |
|||
gory details, please see the complete CMake documentation at: |
|||
|
|||
http://www.cmake.org/cmake/help/documentation.html. |
|||
|
|||
|
|||
Useful CMake Build Settings. |
|||
============================ |
|||
|
|||
This section defines some of the more common CMake build configuration setting |
|||
used when configuring KiCad. These settings are valid for all projects that |
|||
use CMake. |
|||
|
|||
Changing the Build Generator. |
|||
----------------------------- |
|||
CMake attempts to create the project build system based on the platform. On |
|||
Posix systems CMake will create Unix Makefiles to build KiCad. On Windows |
|||
systems CMake will attempt to find the latest version of Visual C++ installed |
|||
on the system and create the appropriate project files. This behavior can be |
|||
changed by specifying the project generator using the -G "Project Generator" |
|||
switch on the command line. Please note, only a small subset of these project |
|||
generators are supported. If you want to use Eclipse on Linux to build KiCad, |
|||
you may be in for a lot of work. |
|||
|
|||
|
|||
CMAKE_BUILD_TYPE (Release/Debug/RelWithDebInfo/MinSizeRel) |
|||
---------------------------------------------------------- |
|||
Default: Release |
|||
|
|||
When configuring the KiCad build for the command line you must specify build |
|||
type. To create a debug build, set CMAKE_BUILD_TYPE to Debug. To create a |
|||
release build, set CMAKE_BUILD_TYPE to Release. See the CMake documentation |
|||
for other build types. For IDE project files, the build type can be selected |
|||
by the IDE configuration manager. |
|||
|
|||
|
|||
CMAKE_INSTALL_PATH (InstallPath) |
|||
-------------------------------- |
|||
By default CMake will select the correct install path for your platform. If |
|||
you wish to install KiCad in a custom location, set CMAKE_INSTALL_PATH to the |
|||
path where you want to install KiCad. Please note that the default install |
|||
path that CMake chooses will likely overwrite the current version of KiCad |
|||
installed on your system. |
|||
|
|||
|
|||
wxWidgets Library Configuration. |
|||
================================ |
|||
|
|||
KiCad is built using the wxWidgets library. The following options allow you |
|||
to specifically tailor the wxWidgets library configuration. For the complete |
|||
list of wxWidgets setting see CMakeModules/FindwxWidgets.cmake in the KiCad |
|||
source. |
|||
|
|||
wxWidgets_ROOT_DIR (NonDefaultwxWidgetsPath) |
|||
-------------------------------------------- |
|||
CMake looks in the standard platform locations to find the default version of |
|||
the wxWidgets library. If you wish to use a custom built wxWidgets library, |
|||
set wxWidgets_ROOT_DIR to the correct path. |
|||
|
|||
|
|||
KiCad Specific Options |
|||
====================== |
|||
|
|||
All of the configuration settings below are specific to the KiCad project. |
|||
If for any reason you add or remove a build option to the KiCad CMake files, |
|||
please update the list below. |
|||
|
|||
KICAD_SKIP_BOOST (ON/OFF) |
|||
-------------------------- |
|||
Default: OFF |
|||
|
|||
Use the version of the Boost library installed on the system rather than |
|||
building a local copy. |
|||
|
|||
WARNING: The KiCad developers strongly advise you to build the bundled copy of |
|||
the Boost library, as it is known to work with KiCad. Other versions may |
|||
contain bugs that may result in KiCad errors. |
|||
|
|||
USE_IMAGES_IN_MENUS (ON/OFF) |
|||
---------------------------- |
|||
Default: OFF for OSX, ON for other platforms. |
|||
|
|||
This option is used to enable or disable building KiCad with images (icons) in menu |
|||
items. If this is not defined when CMake is used to create the build files, |
|||
images will be included in menu items on all platforms except OSX. |
|||
Note also, on Linux, some window managers do not show icons in menu, or |
|||
show them only if the current option is activated. |
|||
Therefore, even if you have icons in menus, they will be not always displayed |
|||
|
|||
|
|||
DOWNLOAD_DIR (PATH) |
|||
------------------- |
|||
Default: <source directory>/.downloads-by-cmake |
|||
|
|||
Some external dependencies are automatically download and built when you |
|||
compile KiCad. This option specifies which directory they are stored in. If you |
|||
are building multiple copies of KiCad (e.g., to test different features or your |
|||
own modifications), it is recommended you set this option to a global directory |
|||
to avoid download and building the dependencies multiple times. |
|||
|
|||
|
|||
KICAD_USER_CONFIG_DIR (PATH) |
|||
---------------------------- |
|||
Default: ~/.config (Unix-based systems), Application data directory (Windows) |
|||
|
|||
This option specifies where to store user-specific configuration information. |
|||
|
|||
|
|||
USE_WX_OVERLAY (ON/OFF) |
|||
----------------------- |
|||
Default: ON for OSX, OFF for other platforms. |
|||
|
|||
This option enables or disables the use of wxOverlay for drawing operations. |
|||
Warning, this is experimental! |
|||
|
|||
|
|||
KICAD_SCRIPTING (ON/OFF) |
|||
------------------------ |
|||
Default: OFF |
|||
|
|||
This option enables or disables building Python scripting support within KiCad. |
|||
Currently only Pcbnew is supported. This option requires SWIG and Python to be |
|||
installed on the system. |
|||
It allows using footprint wizards in footprint editor to create new footprints |
|||
|
|||
|
|||
KICAD_SCRIPTING_MODULES (ON/OFF) |
|||
-------------------------------- |
|||
Default: OFF |
|||
|
|||
This option enables or disables building KiCad Python modules that can be used |
|||
externally by Python. Currently only Pcbnew is supported. This option |
|||
requires SWIG and Python to be installed on the system. |
|||
This python module is used to edit board files (.kicad_pcb files) from a |
|||
python script, outside kicad. |
|||
|
|||
|
|||
KICAD_SCRIPTING_WXPYTHON (ON/OFF) |
|||
--------------------------------- |
|||
Default: OFF |
|||
|
|||
This option enables or disables building wxPython support into the KiCad |
|||
scripting support. Currently only Pcbnew has scripting support. This option requires |
|||
SWIG, Python, and wxPython to be installed on the system. |
|||
It allows execution of python scripts insided Pcbnew, during a session. |
|||
|
|||
|
|||
PYTHON_SITE_PACKAGE_PATH (PATH) |
|||
------------------------------- |
|||
Default: System site library path |
|||
|
|||
When building KiCad with Python scripting enable, the Python site library path |
|||
is used by default. If you want to install the KiCad Python extension in a |
|||
different path, set this variable to the desired path. |
|||
|
|||
|
|||
BUILD_GITHUB_PLUGIN (ON/OFF) |
|||
---------------------------- |
|||
Default: ON |
|||
|
|||
This option enables or disables building KiCad with a pcbnew plugin for loading |
|||
footprints from a GitHub repository. |
|||
|
|||
|
|||
KICAD_REPO_NAME (STRING) |
|||
------------------------ |
|||
Default: "product" |
|||
|
|||
The name of the repository this copy of KiCad was compiled from. This is |
|||
reported in the "About" dialog and is useful for people who are working with |
|||
multiple copies of the code from different sources. The default value is |
|||
"product", the name of the main development branch on Launchpad. |
@ -1,229 +0,0 @@ |
|||
Introduction |
|||
------------ |
|||
|
|||
This document details how to build KiCad from source on Windows. The current |
|||
supported method of building KiCad for Windows systems is to use the MinGW |
|||
compiler, either from Windows or cross compiling from Linux. MSYS can be |
|||
used on Windows to extend the range of subprojects that you can build, but |
|||
is not needed to build KiCad itself. |
|||
|
|||
Visual Studio is not supported, and don't ask about it, it is not supported |
|||
and will not be, ever. |
|||
|
|||
Install Build Tools |
|||
------------------- |
|||
This section describes the tools required to build KiCad from source and how |
|||
to install them. Failure to install these tools properly will likely result |
|||
in build errors. |
|||
|
|||
MinGW/MSYS |
|||
---------- |
|||
MinGW/MSYS provides the compiler tools and a partial Posix environment useful |
|||
for building software. Download the MinGW installer from http://mingw.org. |
|||
Run the installer and and verify MinGW and MSYS are checked. You will also |
|||
need to expand the MinGW entry and select C++ from the list of supported |
|||
languages. Only C is installed by default and C++ is required to build KiCad. |
|||
|
|||
Bazaar |
|||
------ |
|||
KiCad uses the Bazaar version control system to track source code changes, |
|||
and download the boost libraries needed by Kicad. |
|||
The easiest way to get a copy of the KiCad source is to use Bazaar. Bazaar |
|||
can be download from http://wiki.bazaar.canonical.com/WindowsDownloads. |
|||
Your best bet is to use the stand alone version of Bazaar |
|||
(which includes bzrtools, needed Kicad) rather than one of |
|||
the Python specific versions. |
|||
|
|||
CMake |
|||
----- |
|||
The KiCad source uses CMake to make sure the system has the required software |
|||
and libraries installed to properly compile the source. Download the latest |
|||
CMake installer from http://cmake.org. Run the installer and make sure the |
|||
add CMake to PATH variable check box is checked. If you fail to do this step, |
|||
the CMake executable will not be found. |
|||
|
|||
Doxygen (Optional) |
|||
------------------ |
|||
Doxygen is used to generate HTML documentation of the KiCad source code. While |
|||
it is not necessary to install Doxygen, it is a very good way to learn your way |
|||
around the KiCad code base. It is highly recommended for new developers. The |
|||
latest Doxygen installer can be downloaded from http://www.stack.nl/~dimitri/ |
|||
doxygen/ |
|||
|
|||
Python (Optional) |
|||
----------------- |
|||
KiCad supports the Python scripting language (currently only Pcbnew scripting |
|||
exists). Currently the Python scripting support will only build against the |
|||
version 2 branch of Python. The Python installer can be downloaded from http:// |
|||
www.python.org. |
|||
|
|||
SWIG (Optional) |
|||
--------------- |
|||
SWIG is used to generate the Python scripting code. It must be installed to |
|||
build the Python scripting support. Unfortunately there in no installer for |
|||
windows. You can download precompiled binaries from http://http://www.swig. |
|||
org/download.html and install swig.exe. Make sure the folder you install the |
|||
SWIG binary into is in the system PATH. Otherwise CMake will not be able to |
|||
find it. |
|||
|
|||
NullSoft Installer System (Optional) |
|||
------------------------------------ |
|||
The NullSoft Installer System (NSIS) is used to create a Windows installer for |
|||
end users from the binaries created from the KiCad source along with the |
|||
library and documentation files. NSIS is typically only used be developers who |
|||
create installers for end users and is not required if you install from source. |
|||
NSIS can be downloaded from http://nsis.sourceforge.net/Download. |
|||
|
|||
|
|||
Install and Build Libraries |
|||
--------------------------- |
|||
This section documents installing and build all of the software libraries |
|||
required to build KiCad. As of now, these libraries have to be built because |
|||
MinGW builds of these libraries are not readily available Attempting to link |
|||
programs built on MinGW with libraries from other compilers (namely Microsoft |
|||
Visual C) is problematic. It can be done but it is not painless. As far as |
|||
the author of this document knows, MinGW can only link to Visual Studio C |
|||
libraries. The name mangling of Visual Studio C++ is not compatible with the |
|||
MinGW linker. |
|||
|
|||
Build and Install the wxWidgets Library |
|||
--------------------------------------- |
|||
The wxWidgets library is the base that KiCad is built upon. Version 2.9.4 |
|||
or later of wxWidgets *should be* used on Windows. You may be able to build |
|||
KiCad with older versions of wxWidgets but it is not recommended. wxWidgets |
|||
can be downloaded from http://http://www.wxwidgets.org/downloads/ |
|||
|
|||
|
|||
Unzip the wxWidgets zip file into your preferred build directory. Avoid using |
|||
spaces in the path names. Some MinGW tools do not play well with them. It is |
|||
always best to error on the side of caution. |
|||
|
|||
Open MinGW and change to the wxWidgets source directory. If you don't want to |
|||
install the wxWidgets library into MinGW then enter the following commands: |
|||
|
|||
#mkdir Release |
|||
#cd Release |
|||
#../configure --enable-monolithic=no --enable-shared=yes --with-opengl |
|||
#make |
|||
|
|||
If you want to install wxWidgets in MinGW then enter the following commands: |
|||
#mkdir Release |
|||
#cd Release |
|||
#../configure --prefix=/mingw --enable-monolithic=no --enable-shared=yes --with-opengl |
|||
#make && make install |
|||
|
|||
wxWidgets cannot be statically linked to Kicad. |
|||
|
|||
Download the KiCad Source Code |
|||
------------------------------ |
|||
You can use the Launchpad repository or a tar file for this. See the wiki. |
|||
To download files from Launchpad repository, you need to install the Bazaar |
|||
(bzr) version control system. |
|||
|
|||
Launchpad repository has two branches for KiCad sources: |
|||
- a testing branch (used by developers) |
|||
- a stable branch (a copy of the testing branch, when this testing branch is |
|||
near a stable state) |
|||
|
|||
To download the testing branch: |
|||
#bzr branch https://code.launchpad.net/~kicad-product-committers/kicad kicad_testing |
|||
|
|||
To download the stable branch: |
|||
#bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/stable kicad_stable |
|||
|
|||
To download the component and footprint libraries: |
|||
(This branch is a bzr/launchpad import of the Git repository |
|||
at https://github.com/KiCad/kicad-library.git. |
|||
It has schematic parts and 3D models in it.) |
|||
#bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/library kicad_libraries |
|||
|
|||
To download the documentation and translation files: |
|||
#bzr branch https://code.launchpad.net/~kicad-developers/kicad/doc kicad_doc |
|||
|
|||
Create Makefiles with CMake |
|||
--------------------------- |
|||
Open your Msys shell. Create two "out of source" build directories at the |
|||
command line enter the following commands: |
|||
|
|||
#cd <kicadSource> |
|||
#mkdir -p build/release # Build path can be anywhere you prefer. |
|||
#mkdir build/debug # Only if you want a debug version of KiCad. |
|||
|
|||
To create a release build of KiCad, run the following command: |
|||
#cd build |
|||
#cmake -G "MSYS Makefiles" \ # Back slashes are not required |
|||
-DCMAKE_BUILD_TYPE=Release ../../ \ # and are for formatting only. |
|||
|
|||
If the configuration fails, you have failed to install the required software |
|||
on you system. The error message should give you a good indication of what is |
|||
missing. You must resolve this before you can build KiCad. |
|||
|
|||
Compiling the Code |
|||
------------------ |
|||
To build KiCad, at the command line enter following comnands: |
|||
|
|||
#cd <kicadSource>/build/release |
|||
#make |
|||
|
|||
Installing KiCad |
|||
---------------- |
|||
To install Kicad, at the command line enter the following commands: |
|||
|
|||
#cd <kicadSource>/build/release |
|||
#make install |
|||
|
|||
If you get any errors during the installation, you probably do not have the |
|||
appropriate privileges to the install path. Take a look at CMakeCache.txt |
|||
that was created when you ran CMake, and in particular look at the value of |
|||
the CMAKE_INSTALL_PREFIX variable. This is where KiCad will be installed. If |
|||
this not where you want KiCad installed, edit it with a text editor rerun the |
|||
make install command. You do not have the appropriate privileges to install |
|||
KiCad in the CMAKE_INSTALL_PATH, run the make install command as administrator. |
|||
|
|||
You are now done unless you want to make a Debug build. |
|||
|
|||
|
|||
Compiling a Debug version |
|||
------------------------- |
|||
To create a debug version of KiCad, enter the following commands: |
|||
|
|||
#cd <kicadSource>/build/debug |
|||
#cmake -G "MSYS Makefiles" \ |
|||
-DCMAKE_BUILD_TYPE=Debug ../../ |
|||
#make |
|||
|
|||
Generally speaking you do not install debug binaries. They can be debugged in |
|||
place. To monitor the debugging output, you can download the Windows debug |
|||
viewer DbgView from http://technet.microsoft.com/en-us/sysinternals/ |
|||
bb896647.aspx |
|||
|
|||
Compiling the Python Scripting Support. |
|||
--------------------------------------- |
|||
|
|||
Before building KiCad Python scripting extension, you must create a MinGW |
|||
compatible Python link library. The directions to do this can be found in |
|||
the "How do I create Python extensions?" FAQ at http://www.mingw.org/wiki/FAQ. |
|||
|
|||
To build KiCad with Python scripting support, run CMake as follows and then |
|||
compile the source as described above. |
|||
|
|||
#cmake -G "MSYS Makefiles" \ |
|||
-DCMAKE_BUILD_TYPE=Release \ |
|||
-DKICAD_PYTHON_SCRIPTING=ON \ |
|||
-DKICAD_PYTHON_MODULES=ON ../../ |
|||
|
|||
You only need to include the KICAD_PYTHON_MODULES option if you want to |
|||
install the python modules that ship with KiCad. Also note that the wxPython |
|||
support cannot be compiled on Windows at this time due to library conflicts |
|||
between MinGW and Python. Work is currently underway by the KiCad developers |
|||
to provide a MinGW build of Python which should resolve this issue. |
|||
|
|||
Building the Developer Documentation |
|||
------------------------------------ |
|||
To build the HTML developer documentation, run the following commands: |
|||
|
|||
#cd <kicadSource>/build/release |
|||
#make doxygen-docs |
|||
|
|||
The documentation will be created in the <kicadSouce>/Documentation/html |
|||
directory. |
@ -1,221 +0,0 @@ |
|||
Compiling KiCad on Apple Mac OS X |
|||
================================= |
|||
|
|||
Building on OS X is very similar to building on Linux. This document will provide |
|||
a complete walk-through on what to do but it will focus on OS X specific things. |
|||
See general documentation on non OS X specific KiCad build switches, etc. |
|||
|
|||
|
|||
Prerequisites |
|||
------------- |
|||
|
|||
Tools needed for building KiCad: |
|||
* XCode Tools |
|||
* bzr - Bazaar version control system |
|||
* CMake - Cross-platform make |
|||
|
|||
Optional tools: |
|||
* Doxygen - Documentation system for several programming languages |
|||
|
|||
Mandatory library dependencies needed to compile KiCad: |
|||
* GLEW - The OpenGL Extension Wrangler Library |
|||
* cairo - 2D graphics library |
|||
* wxWidgets - Cross-Platform GUI Library |
|||
OR |
|||
wxPython - A blending of the wxWidgets C++ class library with the Python |
|||
programming language |
|||
* SWIG - Interface compiler (only needed for scripting/wxPython builds) |
|||
|
|||
Optional library dependencies, depends on used KiCad features |
|||
* OpenSSL - The Open Source toolkit for SSL/TLS |
|||
=> Needed for github plugin |
|||
|
|||
All tools (except XCode, of course) and all dependencies except wxWidgets/wxPython |
|||
can be compiled manually, but it is advised to install them using your favorite |
|||
package manager for OS X like MacPorts or Homebrew. |
|||
Depending on the package manager the development packages of the library |
|||
dependencies may have to be installed (usually something like <pkg>-dev or |
|||
<pkg>-devel). |
|||
Further, depending on the configuration of your package manager packages might |
|||
have to be compiled with special flags/variants to support the correct |
|||
architecture. E.g., some packages of MacPorts need to have the "+universal" |
|||
variant set to also include the x86_64 variant that might be chosen |
|||
automatically by KiCad build process. |
|||
|
|||
IMPORTANT: |
|||
At the moment you *must not* use a wxWidgets/wxPython version installed by any |
|||
package manager. |
|||
KiCad on OS X needs overlay support and some other fixes, which are not yet |
|||
contained in mainline wxWidgets/wxPython sources and builds. |
|||
If you don't use a patched wxWidgets you will get graphical artifacts (something |
|||
like a magnifying glass effect in the upper left corner of KiCad windows) or |
|||
KiCad will just crash on start (due to duplicate libraries). |
|||
|
|||
Install now the tools and library dependencies as mentioned above. |
|||
|
|||
|
|||
Folder Structure |
|||
---------------- |
|||
|
|||
This documentation will use the following folder structure as an example, but it |
|||
is not mandatory to do it like that: |
|||
KiCad/ |
|||
+-- kicad/ KiCad source folder |
|||
+-- build/ KiCad build folder |
|||
+-- bin/ KiCad binaries folder |
|||
+-- wx-src/ wxWidgets/wxPython source folder |
|||
+-- wx-build/ wxWidgets/wxPython build folder |
|||
+-- wx-bin/ wxWidgets/wxPython binaries folder |
|||
|
|||
|
|||
Get KiCad sources |
|||
----------------- |
|||
|
|||
Create your work root "KiCad" wherever you like and sync KiCad sources to it: |
|||
# mkdir KiCad |
|||
# cd KiCad |
|||
# bzr branch lp:kicad |
|||
|
|||
|
|||
Compiling wxWidgets / wxPython |
|||
------------------------------ |
|||
|
|||
If you don't intend to build KiCad with scripting support then you only need |
|||
wxWidgets, otherwise you need wxPython (which also contains wxWidgets). |
|||
|
|||
Get wxWidgets sources from |
|||
http://www.wxwidgets.org/downloads/ |
|||
or wxPython sources from |
|||
http://www.wxpython.org/download.php#source |
|||
and unpack it to the wx-src folder. |
|||
It is recommended to use the latest stable version. As of this writing this is |
|||
3.0.2 for wxWidgets or 3.0.1.1 for wxPython. |
|||
|
|||
There is a little helper script osx_build_wx.sh in kicad/scripts that does all |
|||
the patching/configuring/compiling of wxWidgets or wxPython for you. |
|||
Go to your working root "KiCad" and for example run: |
|||
# kicad/scripts/osx_build_wx.sh wx-src wx-bin kicad 10.7 "-j4" |
|||
|
|||
First parameter is the source folder of wxWidgets/wxPython, second parameter the |
|||
target folder for compiled binaries, and third parameter is the kicad folder. |
|||
The fourth parameter is the minimum OS X version you are building for (see the |
|||
section about compiling KiCad for further notes on minimum OS X version). |
|||
The last parameter is optional and contains make options used during the build |
|||
(in this example for building with 4 jobs in parallel). |
|||
The script will automatically detect if you are compiling wxWidgets or wxPython. |
|||
NOTE: All paths are assumed to be relative to the current directory, i.e., the |
|||
working root you are in. |
|||
CAUTION: The script will erase existing wx-build and target folders (wx-bin) |
|||
without any confirmation! |
|||
|
|||
If everything went fine during compilation you will now have a working |
|||
wxWidgets/wxPython installation in the wx-bin folder. |
|||
For building KiCad it is sufficient to keep the wx-bin folder. |
|||
|
|||
The script doesn't have to be used, the usual "configure/make/make install" will |
|||
also work. If you do so, be sure to apply the patches needed for KiCad: |
|||
# patch -p0 < ../kicad/patches/wxwidgets-3.0.0_macosx.patch |
|||
# patch -p0 < ../kicad/patches/wxwidgets-3.0.0_macosx_bug_15908.patch |
|||
# patch -p0 < ../kicad/patches/wxwidgets-3.0.0_macosx_soname.patch |
|||
The same patches apply both for wxWidgets and for wxPython. |
|||
|
|||
There is also an optional patch that enables full screen resolution on Retina displays: |
|||
# patch -p0 < ../kicad/patches/wxwidgets-3.0.2_macosx_retina_opengl.patch |
|||
|
|||
Optional patch to support pinch gesture on trackpads to control zoom: |
|||
# patch -p0 < ../kicad/patches/wxwidgets-3.0.2_macosx_magnify_event.patch |
|||
|
|||
The script uses the following configure command/options for wxWidgets known to |
|||
work: |
|||
# ../wx-src/configure \ |
|||
--prefix=`pwd`/../wx-bin \ |
|||
--with-opengl \ |
|||
--enable-aui \ |
|||
--enable-utf8 \ |
|||
--enable-html \ |
|||
--enable-stl \ |
|||
--with-libjpeg=builtin \ |
|||
--with-libpng=builtin \ |
|||
--with-regex=builtin \ |
|||
--with-libtiff=builtin \ |
|||
--with-zlib=builtin \ |
|||
--with-expat=builtin \ |
|||
--without-liblzma \ |
|||
--with-macosx-version-min=<osxtarget> \ |
|||
--enable-universal-binary=i386,x86_64 \ |
|||
CC=clang \ |
|||
CXX=clang++ |
|||
If you know what you are doing, you can of course use different settings. |
|||
|
|||
|
|||
Compiling KiCad |
|||
--------------- |
|||
|
|||
Change to your working root "KiCad" and create the build folder there: |
|||
# mkdir build |
|||
# cd build |
|||
|
|||
Now, configure KiCad without scripting support: |
|||
# cmake ../kicad \ |
|||
-DCMAKE_C_COMPILER=clang \ |
|||
-DCMAKE_CXX_COMPILER=clang++ \ |
|||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \ |
|||
-DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \ |
|||
-DKICAD_SCRIPTING=OFF \ |
|||
-DKICAD_SCRIPTING_MODULES=OFF \ |
|||
-DKICAD_SCRIPTING_WXPYTHON=OFF \ |
|||
-DCMAKE_INSTALL_PREFIX=../bin \ |
|||
-DCMAKE_BUILD_TYPE=Release |
|||
|
|||
or, configure KiCad with scripting support: |
|||
# cmake ../kicad \ |
|||
-DCMAKE_C_COMPILER=clang \ |
|||
-DCMAKE_CXX_COMPILER=clang++ \ |
|||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \ |
|||
-DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \ |
|||
-DPYTHON_EXECUTABLE=`which python` \ |
|||
-DPYTHON_SITE_PACKAGE_PATH=`pwd`/../wx-bin/lib/python2.7/site-packages \ |
|||
-DKICAD_SCRIPTING=ON \ |
|||
-DKICAD_SCRIPTING_MODULES=ON \ |
|||
-DKICAD_SCRIPTING_WXPYTHON=ON \ |
|||
-DCMAKE_INSTALL_PREFIX=../bin \ |
|||
-DCMAKE_BUILD_TYPE=Release |
|||
Note, that depending on your python version the "python2.7" part of the |
|||
"-DPYTHON_SITE_PACKAGE_PATH" variable might have to be adjusted to what has |
|||
been generated when compiling/installing wxPython. If you want to use a specific |
|||
python, you can also specify it via "-DPYTHON_EXECUTABLE" instead of using |
|||
`which python` (this one will just detect/use you default python). |
|||
|
|||
The parameter "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.x" is mandatory, you have to |
|||
specify the (minimum) OS X version you intend to build for. It is important that |
|||
at least wxWidgets/wxPython and KiCad (and boost, if you use an external build) |
|||
are built using the same or compatible settings. If not, you might get linker |
|||
errors, because this parameter influences which standard C++ library is being |
|||
used (libstdc++ vs. libc++). |
|||
If you don't know what to use and you are only building for your machine, just |
|||
set it to your current OS X version (e.g., MacPorts always builds this way). |
|||
Binaries built with a target OS X version <10.7 are known to show strange |
|||
behavior in some situations on recent systems (maybe because libc++ is standard |
|||
on everything >= 10.7 and problems arise due to mixing libstdc++/libc++). |
|||
|
|||
Now KiCad is configured using default features/build-switches. |
|||
See Documentation/compiling/build-config.txt for a list of all CMake options |
|||
available when compiling KiCad. |
|||
|
|||
Build & Install: |
|||
# make |
|||
... will take some time ... |
|||
# make install |
|||
|
|||
Again, if everything went fine you will now have KiCad binaries in the "bin" |
|||
folder. KiCad application can be directly run from there to test. |
|||
If everything is OK, you can create a .dmg image of your "bin" folder or just |
|||
copy/install the KiCad binaries and/or support files (like demos or |
|||
documentation) wherever you want. |
|||
|
|||
If you resync to newer versions of KiCad you don't have to rebuild wxWidgets or |
|||
other dependencies. |
|||
CMake should pick up the changes automatically and build correctly. However, it |
|||
is advised that you make a clean build to be sure (just delete the build folder |
|||
and go again through the configure/build steps). |
|||
|
@ -0,0 +1,389 @@ |
|||
# Building KiCad from Source # |
|||
If you are a user and not a developer, please consider using one of the prebuilt packages |
|||
of KiCad which can be found at the [download][] page on the [KiCad website][]. Building KiCad |
|||
from source is not for the faint of heart and is not recommended unless you have reasonable |
|||
software development experience. This document contains the instructions on how to build KiCad |
|||
from source on the supported platforms. It is not intended as a guide for installing or building |
|||
library dependencies. Please consult you platforms documentation for installing packages or the |
|||
source code when building the library dependencies. Currently the supported platforms are Windows |
|||
Versions 7-10, just about any version of Linux, and OSX 10.7-10.10. You may be able to build |
|||
KiCad on other platforms but it is not supported. On Windows and Linux the [GNU GCC][] is the |
|||
only supported compiler and on OSX [Clang][] is the only supported compiler. |
|||
|
|||
[TOC] |
|||
|
|||
# Development Tools # {#development_tools} |
|||
|
|||
Before you begin building KiCad, there are a few tools required beside your compiler. Some of |
|||
these tools are required to build from source and some are optional. |
|||
|
|||
## CMake Build Configuration Tool ## {#cmake} |
|||
|
|||
[CMake][] is the build configuration and makefile generation tool used by KiCad. It is required. |
|||
|
|||
|
|||
## Bazaar Version Control System ## {#bazaar} |
|||
|
|||
The official source code repository is hosted on [Launchpad][] and requires [Bazaar][] in order |
|||
to create a branch of the latest source. Bazaar is optional if you are going to build a stable |
|||
version of KiCad from a source archive. |
|||
|
|||
## GIT Version Control System ## {#git} |
|||
|
|||
If you prefer to use [GIT][] for version control, there is a mirror of the official KiCad |
|||
repository on [Github][]. GIT is optional if you are going to build a stable version of |
|||
KiCad from a source archive. Please note that the Github mirror is read only. Do not submit |
|||
pull requests to Github. Changes should be sent to the KiCad developer's [mailing list][] as |
|||
an attached patch with [PATCH] at the beginning of the subject. |
|||
|
|||
## Doxygen Code Documentation Generator ## {#doxygen_section} |
|||
|
|||
The KiCad source code is documented using [Doxygen][] which parses the KiCad source code files |
|||
and builds a dependency tree along with the source documentation into HTML. Doxygen is only |
|||
required if you are going to build the KiCad documentation. |
|||
|
|||
## SWIG Simplified Wrapper and Interface Generator ## {#swig} |
|||
|
|||
[SWIG][] is used to generate the Python scripting language extensions for KiCad. SWIG is not |
|||
required if you are not going to build the KiCad scripting extension. |
|||
|
|||
|
|||
# Library Dependencies # {#library_dependencies} |
|||
|
|||
This section includes a list of library dependencies required to build KiCad. It does not |
|||
include any dependencies of the libraries. Please consult the library's documentation for any |
|||
additional dependencies. Some of these libraries are optional depending on you build |
|||
configuration. This is not a guide on how to install the library dependencies using you systems |
|||
package management tools or how to build the library from source. Consult the appropriate |
|||
documentation to perform these tasks. |
|||
|
|||
## wxWidgets Cross Platform GUI Library## {#wxwidgets} |
|||
|
|||
[wxWidgets][] is the graphical user interface (GUI) library used by KiCad. The current minimum |
|||
version is 3.0.0. However, 3.0.2 should be used whenever possible as there are some known bugs |
|||
in prior versions that can cause problems on some platforms. Please note that there are also |
|||
some platform specific patches that must be applied before building wxWidgets from source. These |
|||
patches can be found in the [patches folder][] in the KiCad source. These patches are named by |
|||
the wxWidgets version and platform name they should be applied against. wxWidgets must be built |
|||
with the --with-opengl option. If you installed the packaged version of wxWidgets on your system, |
|||
verify that it was built with this option. |
|||
|
|||
## Boost C++ Libraries ## {#boost} |
|||
|
|||
The [Boost][] C++ library is required only if you intend to build KiCad with the system installed |
|||
version of Boost instead of the default internally built version. If you use the system installed |
|||
version of Boost, version 1.56 or greater is required. Please note there are some platform |
|||
specific patches required to build a working Boost library. These patches can be found in the |
|||
[patches folder][] in the KiCad source. These patches are named by the platform name they should |
|||
be applied against. |
|||
|
|||
## OpenSSL Secure Socket Layer Library ## {#openssl} |
|||
|
|||
The [OpenSSL][] library is only required when the KiCad build is configured with the Github plugin |
|||
enabled. See the [KiCad Build Configuration Options](#build_opts)` section for more information. |
|||
Please note that KiCad will download and build version 1.0.1e of OpenSSL by default. You should |
|||
probably use the version of OpenSSL installed on your system as it will most likely be more up to |
|||
date and contain the latest security fixes. |
|||
|
|||
## GLEW OpenGL Extension Wrangler Library ## {#glew} |
|||
|
|||
The [OpenGL Extension Wrangler][GLEW] is an OpenGL helper library used by the KiCad graphics |
|||
abstraction library [GAL] and is always required to build KiCad. |
|||
|
|||
## GLUT OpenGL Utility Toolkit Library ## {#glut} |
|||
|
|||
The [OpenGL Utility Toolkit][GLUT] is an OpenGL helper library used by the KiCad graphics |
|||
abstraction library [GAL] and is always required to build KiCad. |
|||
|
|||
## Cairo 2D Graphics Library ## {#cairo} |
|||
|
|||
The [Cairo][] 2D graphics library is used as a fallback rendering canvas when OpenGL is no |
|||
available and is always required to build KiCad. |
|||
|
|||
## Python Programming Language ## {#python} |
|||
|
|||
The [Python][] programming language is used to provide scripting support to KiCad. It only needs |
|||
to be install if the [KiCad scripting](#kicad_scripting) build configuration option is enabled. |
|||
|
|||
## wxPython Library ## {#wxpython} |
|||
|
|||
The [wxPython][] library is used to provide a scripting console for Pcbnew. It only needs to be |
|||
installed if the [wxPython scripting](#wxpython_scripting) build configuration option is enabled. |
|||
When building KiCad with wxPython support, make sure the version of the wxWidgets library and |
|||
the version of wxPython installed on your system are the same. Mismatched versions have been |
|||
known to cause runtime issues. |
|||
|
|||
# KiCad Build Configuration Options # {#build_opts} |
|||
|
|||
KiCad has many build options that can be configured to build different options depending on |
|||
the availability of support for each option on a given platform. This section documents |
|||
these options and their default values. |
|||
|
|||
## Case Sensitivity ## {#case_sensitive_opt} |
|||
|
|||
The KICAD_KEEPCASE option allows you to build KiCad so that the string matching for component |
|||
names is case sensitive of case insensitive. This option is enabled by default. |
|||
|
|||
## Advanced Graphics Context ## {#graphics_context_opt} |
|||
|
|||
The USE_WX_GRAPHICS_CONTEXT option replaces wxDC with wxGraphicsContext for graphics rendering. |
|||
This option is disabled by default. Warning: the is experimental and has not been maintained |
|||
so use at your own risk. |
|||
|
|||
## Graphics Context Overlay ## {#overlay_opt} |
|||
|
|||
The USE_WX_OVERLAY option is used to enable the optional wxOverlay class for graphics rendering |
|||
on OSX. This is enabled on OSX by default and disabled on all other platforms. |
|||
|
|||
## Scripting Support ## {#scripting_opt} |
|||
|
|||
The KICAD_SCRIPTING option is used to enable building the Python scripting support into Pcbnew. |
|||
This options is disabled by default. |
|||
|
|||
## Scripting Module Support ## {#scripting_mod_opt} |
|||
|
|||
The KICAD_SCRIPTING_MODULES option is used to enable building and installing the Python modules |
|||
supplied by KiCad. This option is disabled by default. |
|||
|
|||
## wxPython Scripting Support ## {#wxpython_opt} |
|||
|
|||
The KICAD_SCRIPTING_WXPYTHON option is used to enable building the wxPython interface into |
|||
Pcbnew including the wxPython console. This option is disabled by default. |
|||
|
|||
## Build with Static Libraries ## {#static_lib_opt} |
|||
|
|||
The KICAD_BUILD_STATIC option is used to build KiCad with static libraries. This option is |
|||
used for OSX builds only and is disabled by default. |
|||
|
|||
## Build with Dynamic Libraries ## {#dynamic_lib_opt} |
|||
|
|||
The KICAD_BUILD_DYNAMIC option is used to build KiCad with dynamic libraries. This option is |
|||
used for OSX only and is disabled by default. |
|||
|
|||
## Build with System Boost ## {#boost_opt} |
|||
|
|||
The KICAD_SKIP_BOOST option allow you to use the Boost libraries installed on your system to |
|||
be used instead of downloading Boost 1.54 and building a custom version specifically for |
|||
building KiCad. It is high recommended that you enable this option on Linux and use Boost |
|||
version 1.56 or greater. On other platforms you mileage may vary. This option is disabled |
|||
by default. |
|||
|
|||
## OSX Dependency Builder ## {#osx_deps_opt} |
|||
|
|||
The USE_OSX_DEPS_BUILDER option forces the build configuration to download and build the |
|||
required dependencies to build KiCad on OSX. This option is not longer maintained and most |
|||
likely is broken. Use it at your own peril. |
|||
|
|||
## Github Plugin ## {#github_opt} |
|||
|
|||
The BUILD_GITHUB_PLUGIN option is used to control if the Github plugin is built. This option is |
|||
enabled by default. |
|||
|
|||
# Getting the KiCad Source Code ## {#getting_src} |
|||
|
|||
There are several ways to get the KiCad source. If you want to build the stable version you |
|||
can down load the source archive from the [KiCad Launchpad] developers page. Use tar or some |
|||
other archive program to extract the source on your system. If you are using tar, use the |
|||
following command: |
|||
|
|||
tar -xzf kicad_src_archive.tar.gz |
|||
|
|||
If you are contributing directly to the KiCad project on Launchpad, you can create a local |
|||
branch on your machine by using the following command: |
|||
|
|||
bzr branch lp:repo_to_branch |
|||
|
|||
If you prefer to use [GIT][] as you version control system, you can clone the KiCad mirror on |
|||
Github using the following command: |
|||
|
|||
git clone https://github.com/KiCad/kicad-source-mirror |
|||
|
|||
Here is a list of source links: |
|||
|
|||
Stable release archive: https://launchpad.net/kicad/4.0/4.0.0-rc1/+download/kicad-4.0.0-rc1.tar.xz |
|||
|
|||
Development branch: https://code.launchpad.net/~kicad-product-committers/kicad/product |
|||
|
|||
Github mirror: https://github.com/KiCad/kicad-source-mirror |
|||
|
|||
# Building KiCad on Linux # {#build_linux} |
|||
|
|||
To full KiCad build on Linux, do the following: |
|||
|
|||
``` |
|||
cd kicad_source_tree |
|||
mkdir -p build/release |
|||
mkdir build/debug # Optional for debug build. |
|||
cd build/release |
|||
cmake -DCMAKE_BUILD_TYPE=Release \ |
|||
-DKICAD_SCRIPTING=ON \ |
|||
-DKICAD_SCRIPTING_MODULES=ON \ |
|||
-DKICAD_SCRIPTING_WXPYTHON=ON \ |
|||
../../ |
|||
make |
|||
sudo make install |
|||
``` |
|||
|
|||
If the CMake configuration fails, determine the missing dependencies and install them on your |
|||
system. By default, CMake sets the install path on Linux to /usr/local. Use the |
|||
CMAKE_INSTALL_PREFIX option to specify a different install path. |
|||
|
|||
# Building KiCad on Windows # {#build_windows} |
|||
|
|||
The preferred Windows build environment is [MSYS2][]. The [MinGW][] build environment is still |
|||
supported but it is not recommended because the developer is responsible for building *all* of |
|||
the dependencies from source which is a huge and frustrating undertaking. The [MSYS2][] project |
|||
provides packages for all of the require dependencies to build KiCad. To setup the [MSYS2][] |
|||
build environment, depending on your system download and run either the [MSYS2 32-bit Installer][] |
|||
or the [MSYS2 64-bit Installer][]. After the installer is finished, update to the latest |
|||
package versions by running the `msys2_shell.bat` file located in the MSYS2 install path and |
|||
running the command `pacman -Syu`. If the msys2-runtime package is updated, close the shell |
|||
and run `msys2_shell.bat`. |
|||
|
|||
## MSYS2 the Easy Way ## {#msys2_easy} |
|||
|
|||
The easiest way to build KiCad using the [MSYS2][] build environment is to use the KiCad |
|||
[PKGBUILD][] provided by the MSYS2 project to build package using the head of the KiCad |
|||
development branch. To build the KiCad package, run the `msys2_shell.bat` file located in the |
|||
MSYS2 install path and run the following commands: |
|||
|
|||
``` |
|||
pacman -S git |
|||
mkdir src |
|||
cd src |
|||
git clone https://github.com/Alexpux/MINGW-packages |
|||
cd MinGW-packages/mingw-w64-kicad-git |
|||
makepkg-mingw -is |
|||
``` |
|||
|
|||
This will download and install all of the build dependencies, clone the KiCad source mirror |
|||
from Github, create both 32-bit and 64-bit KiCad packages depending on your MSYS setup, and |
|||
install the newly built KiCad packages. Please note that this build process takes a very |
|||
long time to build even on a fast system. |
|||
|
|||
## MSYS2 the Hard Way ## {#msys2_hard} |
|||
|
|||
If you do not want to create KiCad packages and prefer the traditional `make && make install` |
|||
method of building KiCad, your task is significantly more involved. For 64 bit builds run |
|||
the `mingw64_shell.bat` file located in the MSYS2 install path. At the command prompt run the |
|||
the following commands: |
|||
|
|||
``` |
|||
pacman -S mingw-w64-x86_64-cmake \ |
|||
mingw-w64-x86_64-doxygen \ |
|||
mingw-w64-x86_64-gcc \ |
|||
mingw-w64-x86_64-python2 \ |
|||
mingw-w64-x86_64-pkg-config \ |
|||
mingw-w64-x86_64-swig \ |
|||
mingw-w64-x86_64-boost \ |
|||
mingw-w64-x86_64-cairo \ |
|||
mingw-w64-x86_64-glew \ |
|||
mingw-w64-x86_64-openssl \ |
|||
mingw-w64-x86_64-wxPython \ |
|||
mingw-w64-x86_64-wxWidgets |
|||
cd kicad-source |
|||
mkdir -p build/release |
|||
mkdir build/debug # Optional for debug build. |
|||
cd build/release |
|||
cmake -DCMAKE_BUILD_TYPE=Release \ |
|||
-G "MSYS Makefiles" \ |
|||
-DCMAKE_PREFIX_PATH=/mingw64 \ |
|||
-DCMAKE_INSTALL_PREFIX=/mingw64 \ |
|||
-DDEFAULT_INSTALL_PATH=/mingw64 \ |
|||
-DOPENSSL_ROOT_DIR=/mingw64 \ |
|||
-DKICAD_SKIP_BOOST=ON \ |
|||
-DKICAD_SCRIPTING=ON \ |
|||
-DKICAD_SCRIPTING_MODULES=ON \ |
|||
-DKICAD_SCRIPTING_WXPYTHON=ON \ |
|||
../../ |
|||
make install |
|||
``` |
|||
|
|||
# Building KiCad on OSX # {#build_osx} |
|||
|
|||
Building on OSX is challenging at best. It typically requires building dependency libraries |
|||
that require patching in order to work correctly. For more information on the complexities of |
|||
building KiCad on OSX, see the [OSX bundle build scripts][]. |
|||
|
|||
Download the wxPython source and build using the following commands: |
|||
|
|||
``` |
|||
cd path-to-wxwidgets-src |
|||
patch -p0 < path-to-kicad-src/patches/wxwidgets-3.0.0_macosx.patch |
|||
patch -p0 < path-to-kicad-src/wxwidgets-3.0.0_macosx_bug_15908.patch |
|||
patch -p0 < path-to-kicad-src/patches/wxwidgets-3.0.0_macosx_soname.patch |
|||
patch -p0 < path-to-kicad-src/patches/wxwidgets-3.0.2_macosx_yosemite.patch |
|||
patch -p0 < path-to-kicad-src/patches/wxwidgets-3.0.0_macosx_scrolledwindow.patch |
|||
mkdir build |
|||
cd build |
|||
export MAC_OS_X_VERSION_MIN_REQUIRED=10.7 |
|||
../configure \ |
|||
--prefix=`pwd`/../wx-bin \ |
|||
--with-opengl \ |
|||
--enable-aui \ |
|||
--enable-utf8 \ |
|||
--enable-html \ |
|||
--enable-stl \ |
|||
--with-libjpeg=builtin \ |
|||
--with-libpng=builtin \ |
|||
--with-regex=builtin \ |
|||
--with-libtiff=builtin \ |
|||
--with-zlib=builtin \ |
|||
--with-expat=builtin \ |
|||
--without-liblzma \ |
|||
--with-macosx-version-min=10.7 \ |
|||
--enable-universal-binary=i386,x86_64 \ |
|||
CC=clang \ |
|||
CXX=clang++ |
|||
``` |
|||
|
|||
Build KiCad using the following commands: |
|||
|
|||
``` |
|||
cd kicad-source |
|||
mkdir -p build/release |
|||
mkdir build/debug # Optional for debug build. |
|||
cd build/release |
|||
cmake -DCMAKE_C_COMPILER=clang \ |
|||
-DCMAKE_CXX_COMPILER=clang++ \ |
|||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \ |
|||
-DwxWidgets_CONFIG_EXECUTABLE=path-to-wx-install/bin/wx-config \ |
|||
-DKICAD_SCRIPTING=ON \ |
|||
-DKICAD_SCRIPTING_MODULES=ON \ |
|||
-DKICAD_SCRIPTING_WXPYTHON=ON \ |
|||
-DPYTHON_EXECUTABLE=path-to-python-exe/python \ |
|||
-DPYTHON_SITE_PACKAGE_PATH=wx/wx-bin/lib/python2.7/site-packages \ |
|||
-DCMAKE_INSTALL_PREFIX=../bin \ |
|||
-DCMAKE_BUILD_TYPE=Release \ |
|||
../../ |
|||
make |
|||
make install |
|||
``` |
|||
|
|||
[download]: http://kicad-pcb.org/download/ |
|||
[KiCad website]: http://kicad-pcb.org/ |
|||
[KiCad Launchpad]: https://launchpad.net/kicad |
|||
[GNU GCC]: https://gcc.gnu.org/ |
|||
[Clang]: http://clang.llvm.org/ |
|||
[CMake]: https://cmake.org/ |
|||
[Launchpad]: https://code.launchpad.net/~kicad-product-committers/kicad/product |
|||
[Bazaar]: http://bazaar.canonical.com/en/ |
|||
[GIT]: https://git-scm.com/ |
|||
[Github]: https://github.com/KiCad/kicad-source-mirror |
|||
[Doxygen]: http://www.stack.nl/~dimitri/doxygen/ |
|||
[mailing list]: https://launchpad.net/~kicad-developers |
|||
[SWIG]: http://www.swig.org/ |
|||
[wxWidgets]: http://wxwidgets.org/ |
|||
[patches folder]: http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/patches/ |
|||
[Boost]: http://www.boost.org/ |
|||
[OpenSSL]: https://www.openssl.org/ |
|||
[GLEW]: http://glew.sourceforge.net/ |
|||
[GLUT]: https://www.opengl.org/resources/libraries/glut/ |
|||
[Cairo]: http://cairographics.org/ |
|||
[Python]: https://www.python.org/ |
|||
[wxPython]: http://wxpython.org/ |
|||
[MSYS2]: http://msys2.github.io/ |
|||
[MSYS2 32-bit Installer]: http://repo.msys2.org/distrib/i686/msys2-i686-20150916.exe |
|||
[MSYS2 64-bit Installer]: http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20150916.exe |
|||
[PKGBUILD]: https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-kicad-git/PKGBUILD |
|||
[OSX bundle build scripts]:http://bazaar.launchpad.net/~adamwolf/+junk/kicad-mac-packaging/files |
Write
Preview
Loading…
Cancel
Save
Reference in new issue