217 lines
7.6 KiB
Plaintext
217 lines
7.6 KiB
Plaintext
Compiling KiCad from Source
|
|
===========================
|
|
KiCad Documentation Team
|
|
Last revised on 12-mars-2012 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
|
|
* wxGTK or wxWidgets - The wxWidgets GUI toolkit with GTK+ bindings
|
|
* 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 at least (possibly the 4.7.x series) is 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.0/wxWidgets-3.0.0.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 lp:kicad kicad_src
|
|
|
|
Stable branch:
|
|
bzr branch lp: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>
|
|
|
|
On windows, run the following command:
|
|
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../
|
|
|
|
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.
|